]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/bmake/unit-tests/varcmd
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / bmake / unit-tests / varcmd
1 # $Id: varcmd,v 1.3 2008/05/15 04:30:47 sjg 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