summaryrefslogtreecommitdiffstats
path: root/20150505/unit-tests/varcmd.mk
diff options
context:
space:
mode:
Diffstat (limited to '20150505/unit-tests/varcmd.mk')
-rw-r--r--20150505/unit-tests/varcmd.mk49
1 files changed, 49 insertions, 0 deletions
diff --git a/20150505/unit-tests/varcmd.mk b/20150505/unit-tests/varcmd.mk
new file mode 100644
index 0000000..a5fd198
--- /dev/null
+++ b/20150505/unit-tests/varcmd.mk
@@ -0,0 +1,49 @@
+# $Id: varcmd.mk,v 1.1.1.1 2014/08/30 18:57:18 sjg Exp $
+#
+# Test behaviour of recursive make and vars set on command line.
+
+FU=fu
+FOO?=foo
+.if !empty(.TARGETS)
+TAG=${.TARGETS}
+.endif
+TAG?=default
+
+all: one
+
+show:
+ @echo "${TAG} FU=<v>${FU}</v> FOO=<v>${FOO}</v> VAR=<v>${VAR}</v>"
+
+one: show
+ @${.MAKE} -f ${MAKEFILE} FU=bar FOO=goo two
+
+two: show
+ @${.MAKE} -f ${MAKEFILE} three
+
+three: show
+ @${.MAKE} -f ${MAKEFILE} four
+
+
+.ifmake four
+VAR=Internal
+.MAKEOVERRIDES+= VAR
+.endif
+
+four: show
+ @${.MAKE} -f ${MAKEFILE} five
+
+M = x
+V.y = is y
+V.x = is x
+V := ${V.$M}
+K := ${V}
+
+show-v:
+ @echo '${TAG} v=${V} k=${K}'
+
+five: show show-v
+ @${.MAKE} -f ${MAKEFILE} M=y six
+
+six: show-v
+ @${.MAKE} -f ${MAKEFILE} V=override show-v
+
OpenPOWER on IntegriCloud