diff options
Diffstat (limited to 'mk/rte.extsubdir.mk')
-rw-r--r-- | mk/rte.extsubdir.mk | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/mk/rte.extsubdir.mk b/mk/rte.extsubdir.mk index f50f0062..d21791b0 100644 --- a/mk/rte.extsubdir.mk +++ b/mk/rte.extsubdir.mk @@ -30,9 +30,11 @@ MAKEFLAGS += --no-print-directory +ALL_DEPDIRS := $(patsubst DEPDIRS-%,%,$(filter DEPDIRS-%,$(.VARIABLES))) + # output directory -O ?= . -BASE_OUTPUT ?= $(O) +O ?= $(CURDIR) +BASE_OUTPUT ?= $(abspath $(O)) CUR_SUBDIR ?= . .PHONY: all @@ -50,4 +52,16 @@ $(DIRS-y): BASE_OUTPUT=$(BASE_OUTPUT) \ CUR_SUBDIR=$(CUR_SUBDIR)/$(@) \ S=$(CURDIR)/$(@) \ + DEPDIRS="$(DEPDIRS-$@)" \ $(filter-out $(DIRS-y),$(MAKECMDGOALS)) + +define depdirs_rule +$(DEPDIRS-$(1)): + +$(1): | $(DEPDIRS-$(1)) + +$(if $(D),$(info $(1) depends on $(DEPDIRS-$(1)))) +endef + +$(foreach dir,$(ALL_DEPDIRS),\ + $(eval $(call depdirs_rule,$(dir)))) |