build: allow multiple occurrences of the same directory in subdirs-y
This change enables adding the same directory several times to subdirs-y
in sub.mk without causing warnings. This means we can now use patterns
such as:
subdirs-$(CFG_FOO) += foobar
subdirs-$(CFG_BAR) += foobar
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
diff --git a/mk/subdir.mk b/mk/subdir.mk
index ffa61d4..d280c30 100644
--- a/mk/subdir.mk
+++ b/mk/subdir.mk
@@ -21,6 +21,8 @@
gen-srcs :=
asm-defines-files :=
+uniq = $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1)))
+
define process-subdir-srcs-y
ifeq ($$(sub-dir),.)
srcs += $1
@@ -174,8 +176,8 @@
asm-defines-y :=
# Process subdirectories in current directory
-$$(foreach sd, $$(sub-subdirs), $$(eval $$(call process-subdir,$$(sd))))
+$$(foreach sd, $$(call uniq,$$(sub-subdirs)), $$(eval $$(call process-subdir,$$(sd))))
endef #process-subdir
# Top subdirectories
-$(foreach sd, $(subdirs), $(eval $(call process-subdir,$(sd))))
+$(foreach sd, $(call uniq,$(subdirs)), $(eval $(call process-subdir,$(sd))))