Imported Upstream version 4.0
[platform/upstream/make.git] / tests / scripts / variables / flavors
1 #                                                                    -*-perl-*-
2
3 $description = "Test various flavors of make variable setting.";
4
5 $details = "";
6
7 # TEST 0: Recursive
8
9 run_make_test('
10 ugh = Goodbye
11 foo = $(bar)
12 bar = ${ugh}
13 ugh = Hello
14 all: ; @echo $(foo)
15 ',
16               '', "Hello\n");
17
18 # TEST 1: Simple
19
20 run_make_test('
21 bar = Goodbye
22 foo := $(bar)
23 bar = ${ugh}
24 ugh = Hello
25 all: ; @echo $(foo)
26 ',
27               '', "Goodbye\n");
28
29 # TEST 2: Append to recursive
30
31 run_make_test('
32 foo = Hello
33 ugh = Goodbye
34 foo += $(bar)
35 bar = ${ugh}
36 ugh = Hello
37 all: ; @echo $(foo)
38 ',
39               '', "Hello Hello\n");
40
41 # TEST 3: Append to simple
42
43 run_make_test('
44 foo := Hello
45 ugh = Goodbye
46 bar = ${ugh}
47 foo += $(bar)
48 ugh = Hello
49 all: ; @echo $(foo)
50 ',
51               '', "Hello Goodbye\n");
52
53 # TEST 4: Conditional pre-set
54
55 run_make_test('
56 foo = Hello
57 ugh = Goodbye
58 bar = ${ugh}
59 foo ?= $(bar)
60 ugh = Hello
61 all: ; @echo $(foo)
62 ',
63               '', "Hello\n");
64
65 # TEST 5: Conditional unset
66
67 run_make_test('
68 ugh = Goodbye
69 bar = ${ugh}
70 foo ?= $(bar)
71 ugh = Hello
72 all: ; @echo $(foo)
73 ',
74               '', "Hello\n");
75
76 # TEST 6: Simple using POSIX syntax
77 run_make_test('
78 bar = Goodbye
79 foo ::= $(bar)
80 bar = ${ugh}
81 ugh = Hello
82 all: ; @echo $(foo)
83 ',
84               '', "Goodbye\n");
85
86 # TEST 7: POSIX syntax no spaces
87 run_make_test('
88 bar = Goodbye
89 foo::=$(bar)
90 bar = ${ugh}
91 ugh = Hello
92 all: ; @echo $(foo)
93 ',
94               '', "Goodbye\n");
95
96 1;