myos/make/include.mk

26 lines
1.5 KiB
Makefile
Raw Normal View History

2021-06-02 00:54:33 +02:00
##
# INCLUDE
2021-06-12 03:13:01 +02:00
# variable MAKE_DIR: Path of this file
2021-02-09 17:05:00 +01:00
MAKE_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
2021-06-12 03:13:01 +02:00
# variable MAKE_FILE: Name of this file
MAKE_FILE := $(notdir $(lastword $(MAKEFILE_LIST)))
2022-09-10 18:31:23 +02:00
# variable MAKE_FIRST: List of first files to load
MAKE_FIRST := env.mk def.mk $(wildcard def.*.mk)
# variable MAKE_LATEST: List of latest files to load
MAKE_LATEST := end.mk
## it includes $(MAKE_DIR)/$(MAKE_FIRST)
include $(wildcard $(patsubst %,$(MAKE_DIR)/%,$(MAKE_FIRST)))
2021-06-12 03:13:01 +02:00
## it includes $(MAKE_DIR)/*/def.mk $(MAKE_DIR)/*/def.*.mk
include $(foreach subdir,$(MAKE_SUBDIRS),$(wildcard $(MAKE_DIR)/$(subdir)/def.mk $(MAKE_DIR)/$(subdir)/def.*.mk))
## it includes def.mk def.*.mk */def.mk */def.*.mk
include $(wildcard def.mk def.*.mk) $(filter-out $(wildcard $(MAKE_DIR)/*.mk),$(wildcard */def.mk */def.*.mk))
## it includes $(MAKE_DIR)/*.mk
2022-09-10 18:31:23 +02:00
include $(filter-out $(wildcard $(patsubst %,$(MAKE_DIR)/%,$(MAKE_FILE) $(MAKE_FIRST) $(MAKE_LATEST))),$(wildcard $(MAKE_DIR)/*.mk))
2021-06-12 03:13:01 +02:00
## it includes $(MAKE_DIR)/*/*.mk
include $(foreach subdir,$(MAKE_SUBDIRS),$(filter-out $(wildcard $(MAKE_DIR)/$(subdir)/def.mk $(MAKE_DIR)/$(subdir)/def.*.mk),$(wildcard $(MAKE_DIR)/$(subdir)/*.mk)))
## it includes *.mk */*.mk
include $(filter-out $(wildcard def.mk def.*.mk),$(wildcard *.mk)) $(filter-out $(wildcard $(MAKE_DIR)/*.mk */def.mk */def.*.mk),$(wildcard */*.mk))
2022-09-10 18:31:23 +02:00
## it includes $(MAKE_DIR)/$(MAKE_LATEST)
include $(wildcard $(patsubst %,$(MAKE_DIR)/%,$(MAKE_LATEST)))