summaryrefslogtreecommitdiff
path: root/build/macros.mk
diff options
context:
space:
mode:
authorNicolas Schodet2015-10-31 01:54:28 +0100
committerNicolas Schodet2019-10-07 00:44:57 +0200
commitdde0d4cfe6379e628729fe87aa5849db6cc11366 (patch)
tree406d7dc0010a2c185704f9082476079a9dd9320f /build/macros.mk
parent4fd623cd267ecfb1663be4e7c8b56c55201c3c82 (diff)
build: recursively include submodules
Diffstat (limited to 'build/macros.mk')
-rw-r--r--build/macros.mk8
1 files changed, 8 insertions, 0 deletions
diff --git a/build/macros.mk b/build/macros.mk
index cd8347c..f77159b 100644
--- a/build/macros.mk
+++ b/build/macros.mk
@@ -2,6 +2,10 @@
#
# Usefull macros.
+# Evaluate B only if A is defined.
+# $(call ifdefined,A,B)
+ifdefined = $(if $(filter undefined,$(origin $1)),$2)
+
# Return $(A) only if defined, else return B.
# $(call defval,A,B)
defval = $(if $(filter undefined,$(origin $1)),$2,$($1))
@@ -44,3 +48,7 @@ $(foreach target,$(TARGETS),\
$(addprefix $1/,$(basename $2)))): $3
endef
source_specific = $(eval $(call source_specific_sub,$1,$2,$3))
+
+# Evaluate subvariables.
+# $(call foreachsub,LIST,PREFIX)
+foreachsub = $(foreach v,$1,$($(subst /,_,$v)_$2))