diff options
Diffstat (limited to 'unit-tests/varcmd')
-rw-r--r-- | unit-tests/varcmd | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/unit-tests/varcmd b/unit-tests/varcmd new file mode 100644 index 0000000..a58e014 --- /dev/null +++ b/unit-tests/varcmd @@ -0,0 +1,49 @@ +# $Id: varcmd,v 1.3 2008/05/15 04:30:47 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 + |