varcmd.mk revision 1.1 1 # $Id: varcmd.mk,v 1.1 2014/08/21 13:44:52 apb Exp $
2 #
3 # Test behaviour of recursive make and vars set on command line.
4
5 FU=fu
6 FOO?=foo
7 .if !empty(.TARGETS)
8 TAG=${.TARGETS}
9 .endif
10 TAG?=default
11
12 all: one
13
14 show:
15 @echo "${TAG} FU=<v>${FU}</v> FOO=<v>${FOO}</v> VAR=<v>${VAR}</v>"
16
17 one: show
18 @${.MAKE} -f ${MAKEFILE} FU=bar FOO=goo two
19
20 two: show
21 @${.MAKE} -f ${MAKEFILE} three
22
23 three: show
24 @${.MAKE} -f ${MAKEFILE} four
25
26
27 .ifmake four
28 VAR=Internal
29 .MAKEOVERRIDES+= VAR
30 .endif
31
32 four: show
33 @${.MAKE} -f ${MAKEFILE} five
34
35 M = x
36 V.y = is y
37 V.x = is x
38 V := ${V.$M}
39 K := ${V}
40
41 show-v:
42 @echo '${TAG} v=${V} k=${K}'
43
44 five: show show-v
45 @${.MAKE} -f ${MAKEFILE} M=y six
46
47 six: show-v
48 @${.MAKE} -f ${MAKEFILE} V=override show-v
49
50