1 | # -*-perl-*-
|
---|
2 |
|
---|
3 | $description = "Test special GNU make variables.";
|
---|
4 |
|
---|
5 | $details = "";
|
---|
6 |
|
---|
7 | &run_make_test('
|
---|
8 |
|
---|
9 | X1 := $(sort $(filter FOO BAR,$(.VARIABLES)))
|
---|
10 |
|
---|
11 | FOO := foo
|
---|
12 |
|
---|
13 | X2 := $(sort $(filter FOO BAR,$(.VARIABLES)))
|
---|
14 |
|
---|
15 | BAR := bar
|
---|
16 |
|
---|
17 | all: ; @echo X1 = $(X1); echo X2 = $(X2); echo LAST = $(sort $(filter FOO BAR,$(.VARIABLES)))
|
---|
18 | ',
|
---|
19 | '', "X1 =\nX2 = FOO\nLAST = BAR FOO\n");
|
---|
20 |
|
---|
21 | # SV 45728: Test that undefining a variable is reflected properly
|
---|
22 |
|
---|
23 | &run_make_test('
|
---|
24 | FOO := foo
|
---|
25 | BAR := bar
|
---|
26 | $(info one: $(sort $(filter FOO BAR BAZ,$(.VARIABLES))))
|
---|
27 | undefine BAR
|
---|
28 | BAZ := baz
|
---|
29 | $(info two: $(sort $(filter FOO BAR BAZ,$(.VARIABLES))))
|
---|
30 | all:;@:
|
---|
31 | ',
|
---|
32 | '', "one: BAR FOO\ntwo: BAZ FOO\n");
|
---|
33 |
|
---|
34 | # $makefile2 = &get_tmpfile;
|
---|
35 | # open(MAKEFILE, "> $makefile2");
|
---|
36 |
|
---|
37 | # print MAKEFILE <<'EOF';
|
---|
38 |
|
---|
39 | # X1 := $(sort $(.TARGETS))
|
---|
40 |
|
---|
41 | # all: foo
|
---|
42 | # @echo X1 = $(X1)
|
---|
43 | # @echo X2 = $(X2)
|
---|
44 | # @echo LAST = $(sort $(.TARGETS))
|
---|
45 |
|
---|
46 | # X2 := $(sort $(.TARGETS))
|
---|
47 |
|
---|
48 | # foo:
|
---|
49 |
|
---|
50 | # EOF
|
---|
51 |
|
---|
52 | # close(MAKEFILE);
|
---|
53 |
|
---|
54 | # # TEST #2
|
---|
55 | # # -------
|
---|
56 |
|
---|
57 | # &run_make_with_options($makefile2, "", &get_logfile);
|
---|
58 | # $answer = "X1 =\nX2 = all\nLAST = all foo\n";
|
---|
59 | # &compare_output($answer, &get_logfile(1));
|
---|
60 |
|
---|
61 | # Test the .RECIPEPREFIX variable
|
---|
62 | &run_make_test('
|
---|
63 | define foo
|
---|
64 | : foo-one\
|
---|
65 | foo-two
|
---|
66 | : foo-three
|
---|
67 | : foo-four
|
---|
68 | endef
|
---|
69 |
|
---|
70 | orig: ; : orig-one
|
---|
71 | : orig-two \
|
---|
72 | orig-three \
|
---|
73 | orig-four \
|
---|
74 | orig-five \\\\
|
---|
75 | : orig-six
|
---|
76 | $(foo)
|
---|
77 |
|
---|
78 | .RECIPEPREFIX = >
|
---|
79 | test: ; : test-one
|
---|
80 | >: test-two \
|
---|
81 | test-three \
|
---|
82 | >test-four \
|
---|
83 | > test-five \\\\
|
---|
84 | >: test-six
|
---|
85 | >$(foo)
|
---|
86 |
|
---|
87 | .RECIPEPREFIX =
|
---|
88 | reset: ; : reset-one
|
---|
89 | : reset-two \
|
---|
90 | reset-three \
|
---|
91 | reset-four \
|
---|
92 | reset-five \\\\
|
---|
93 | : reset-six
|
---|
94 | $(foo)
|
---|
95 | ',
|
---|
96 | 'orig test reset',
|
---|
97 | ': orig-one
|
---|
98 | : orig-two \
|
---|
99 | orig-three \
|
---|
100 | orig-four \
|
---|
101 | orig-five \\\\
|
---|
102 | : orig-six
|
---|
103 | : foo-one foo-two
|
---|
104 | : foo-three
|
---|
105 | : foo-four
|
---|
106 | : test-one
|
---|
107 | : test-two \
|
---|
108 | test-three \
|
---|
109 | test-four \
|
---|
110 | test-five \\\\
|
---|
111 | : test-six
|
---|
112 | : foo-one foo-two
|
---|
113 | : foo-three
|
---|
114 | : foo-four
|
---|
115 | : reset-one
|
---|
116 | : reset-two \
|
---|
117 | reset-three \
|
---|
118 | reset-four \
|
---|
119 | reset-five \\\\
|
---|
120 | : reset-six
|
---|
121 | : foo-one foo-two
|
---|
122 | : foo-three
|
---|
123 | : foo-four');
|
---|
124 |
|
---|
125 | # Test that the "did you mean TAB" message is printed properly
|
---|
126 |
|
---|
127 | run_make_test(q!
|
---|
128 | $x.
|
---|
129 | !,
|
---|
130 | '', '#MAKEFILE#:2: *** missing separator. Stop.', 512);
|
---|
131 |
|
---|
132 | run_make_test(q!
|
---|
133 | foo:
|
---|
134 | bar
|
---|
135 | !,
|
---|
136 | '', '#MAKEFILE#:3: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.', 512);
|
---|
137 |
|
---|
138 | run_make_test(q!
|
---|
139 | .RECIPEPREFIX = :
|
---|
140 | foo:
|
---|
141 | bar
|
---|
142 | !,
|
---|
143 | '', '#MAKEFILE#:4: *** missing separator. Stop.', 512);
|
---|
144 |
|
---|
145 | 1;
|
---|
146 |
|
---|
147 | ### Local Variables:
|
---|
148 | ### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action))
|
---|
149 | ### End:
|
---|