Lines Matching full:variable
18 # variable or the guard target is defined, the file is skipped completely, as
19 # including it would not have any effect, not even on the special variable
20 # '.MAKE.MAKEFILES', as that variable skips duplicate pathnames.
30 # This is the canonical form of a variable-based multiple-inclusion guard.
31 CASES+= variable-ifndef
32 LINES.variable-ifndef= \
36 # expect: Parse_PushInput: file variable-ifndef.tmp, line 1
37 # expect: Skipping 'variable-ifndef.tmp' because 'VARIABLE_IFNDEF' is defined
42 CASES+= variable-ifndef-reuse
43 LINES.variable-ifndef-reuse= \
47 # expect: Parse_PushInput: file variable-ifndef-reuse.tmp, line 1
48 # expect: Skipping 'variable-ifndef-reuse.tmp' because 'VARIABLE_IFNDEF' is defined
50 # The guard variable cannot be a number, as numbers are interpreted
52 CASES+= variable-ifndef-zero
53 LINES.variable-ifndef-zero= \
57 # expect: Parse_PushInput: file variable-ifndef-zero.tmp, line 1
58 # expect: Parse_PushInput: file variable-ifndef-zero.tmp, line 1
60 # The guard variable cannot be a number, as numbers are interpreted
62 CASES+= variable-ifndef-one
63 LINES.variable-ifndef-one= \
66 # expect: Parse_PushInput: file variable-ifndef-one.tmp, line 1
67 # expect: Parse_PushInput: file variable-ifndef-one.tmp, line 1
85 CASES+= variable-if
86 LINES.variable-if= \
90 # expect: Parse_PushInput: file variable-if.tmp, line 1
91 # expect: Skipping 'variable-if.tmp' because 'VARIABLE_IF' is defined
96 CASES+= variable-if-reuse
97 LINES.variable-if-reuse= \
101 # expect: Parse_PushInput: file variable-if-reuse.tmp, line 1
102 # expect: Skipping 'variable-if-reuse.tmp' because 'VARIABLE_IF' is defined
106 CASES+= variable-if-triple-negation
107 LINES.variable-if-triple-negation= \
111 # expect: Parse_PushInput: file variable-if-triple-negation.tmp, line 1
112 # expect: Parse_PushInput: file variable-if-triple-negation.tmp, line 1
114 # If the guard variable is enclosed in spaces, it does not have an effect, as
116 CASES+= variable-if-spaced
117 LINES.variable-if-spaced= \
121 # expect: Parse_PushInput: file variable-if-spaced.tmp, line 1
122 # expect: Parse_PushInput: file variable-if-spaced.tmp, line 1
124 # If the guard variable condition is enclosed in parentheses, it does not have
126 CASES+= variable-if-parenthesized
127 LINES.variable-if-parenthesized= \
131 # expect: Parse_PushInput: file variable-if-parenthesized.tmp, line 1
132 # expect: Parse_PushInput: file variable-if-parenthesized.tmp, line 1
136 CASES+= variable-ifdef-negated
137 LINES.variable-ifdef-negated= \
141 # expect: Parse_PushInput: file variable-ifdef-negated.tmp, line 1
142 # expect: Parse_PushInput: file variable-ifdef-negated.tmp, line 1
144 # The variable names in the '.if' and the assignment must be the same.
145 CASES+= variable-name-mismatch
146 LINES.variable-name-mismatch= \
150 # expect: Parse_PushInput: file variable-name-mismatch.tmp, line 1
151 # expect: Parse_PushInput: file variable-name-mismatch.tmp, line 1
153 # If the guard variable condition is enclosed in parentheses, it does not have
155 CASES+= variable-ifndef-parenthesized
156 LINES.variable-ifndef-parenthesized= \
160 # expect: Parse_PushInput: file variable-ifndef-parenthesized.tmp, line 1
161 # expect: Parse_PushInput: file variable-ifndef-parenthesized.tmp, line 1
163 # The variable name '!VARNAME' cannot be used in an '.ifndef' directive, as
166 # accept '!' in the guard variable name. Furthermore, when defining the
167 # variable, the character '!' has to be escaped, to prevent it from being
169 CASES+= variable-name-exclamation
170 LINES.variable-name-exclamation= \
174 # expect: Parse_PushInput: file variable-name-exclamation.tmp, line 1
175 # expect: Parse_PushInput: file variable-name-exclamation.tmp, line 1
177 # In general, a variable name can contain a '!' in the middle, as that
179 # on the left side of a variable assignment. For guard variable names, the
181 CASES+= variable-name-exclamation-middle
182 LINES.variable-name-exclamation-middle= \
186 # expect: Parse_PushInput: file variable-name-exclamation-middle.tmp, line 1
187 # expect: Parse_PushInput: file variable-name-exclamation-middle.tmp, line 1
189 # A variable name can contain balanced parentheses, at least in conditions and
190 # on the left side of a variable assignment. There are enough places in make
193 # variable names.
194 CASES+= variable-name-parentheses
195 LINES.variable-name-parentheses= \
199 # expect: Parse_PushInput: file variable-name-parentheses.tmp, line 1
200 # expect: Parse_PushInput: file variable-name-parentheses.tmp, line 1
202 # The guard condition must consist of only the guard variable, nothing else.
203 CASES+= variable-ifndef-plus
204 LINES.variable-ifndef-plus= \
209 # expect: Parse_PushInput: file variable-ifndef-plus.tmp, line 1
210 # expect: Parse_PushInput: file variable-ifndef-plus.tmp, line 1
212 # The guard condition must consist of only the guard variable, nothing else.
213 CASES+= variable-if-plus
214 LINES.variable-if-plus= \
219 # expect: Parse_PushInput: file variable-if-plus.tmp, line 1
220 # expect: Parse_PushInput: file variable-if-plus.tmp, line 1
222 # The variable name in an '.ifndef' guard must be given directly, it must not
224 CASES+= variable-ifndef-indirect
225 LINES.variable-ifndef-indirect= \
229 # expect: Parse_PushInput: file variable-ifndef-indirect.tmp, line 1
230 # expect: Parse_PushInput: file variable-ifndef-indirect.tmp, line 1
232 # The variable name in an '.if' guard must be given directly, it must not
234 CASES+= variable-if-indirect
235 LINES.variable-if-indirect= \
239 # expect: Parse_PushInput: file variable-if-indirect.tmp, line 1
240 # expect: Parse_PushInput: file variable-if-indirect.tmp, line 1
242 # The variable name in the guard condition must only contain alphanumeric
243 # characters and underscores. The place where the guard variable is defined
244 # is more flexible, as long as the variable is defined at the point where the
246 CASES+= variable-assign-indirect
247 LINES.variable-assign-indirect= \
251 # expect: Parse_PushInput: file variable-assign-indirect.tmp, line 1
252 # expect: Skipping 'variable-assign-indirect.tmp' because 'VARIABLE_ASSIGN_INDIRECT' is defined
254 # The time at which the guard variable is defined doesn't matter, as long as
256 CASES+= variable-assign-late
257 LINES.variable-assign-late= \
262 # expect: Parse_PushInput: file variable-assign-late.tmp, line 1
263 # expect: Skipping 'variable-assign-late.tmp' because 'VARIABLE_ASSIGN_LATE' is defined
265 # The time at which the guard variable is defined doesn't matter, as long as
267 CASES+= variable-assign-nested
268 LINES.variable-assign-nested= \
276 # expect: Parse_PushInput: file variable-assign-nested.tmp, line 1
277 # expect: Skipping 'variable-assign-nested.tmp' because 'VARIABLE_ASSIGN_NESTED' is defined
279 # If the guard variable is defined before the file is included for the first
284 CASES+= variable-already-defined
285 LINES.variable-already-defined= \
290 # expect: Parse_PushInput: file variable-already-defined.tmp, line 1
291 # expect: Skipping 'variable-already-defined.tmp' because 'VARIABLE_ALREADY_DEFINED' is defined
293 # If the guard variable is defined before the file is included the first time,
295 # variable is undefined when the file is included the second time, the file is
297 CASES+= variable-defined-then-undefined
298 LINES.variable-defined-then-undefined= \
302 UNDEF_BETWEEN.variable-defined-then-undefined= \
304 # expect: Parse_PushInput: file variable-defined-then-undefined.tmp, line 1
305 # expect: Parse_PushInput: file variable-defined-then-undefined.tmp, line 1
311 CASES+= variable-two-times
312 LINES.variable-two-times= \
319 # expect: Parse_PushInput: file variable-two-times.tmp, line 1
320 # expect: Parse_PushInput: file variable-two-times.tmp, line 1
322 # When multiple files use the same guard variable name, the optimization of
326 # A typical pattern of guard variable names is '${PROJECT}_${DIR}_${FILE}_MK'.
328 CASES+= variable-clash
329 LINES.variable-clash= \
330 ${LINES.variable-if}
331 # expect: Parse_PushInput: file variable-clash.tmp, line 1
332 # expect: Skipping 'variable-clash.tmp' because 'VARIABLE_IF' is defined
336 CASES+= variable-swapped
337 LINES.variable-swapped= \
342 # expect: Parse_PushInput: file variable-swapped.tmp, line 1
343 # expect: Parse_PushInput: file variable-swapped.tmp, line 1
345 # If the guard variable is undefined between the first and the second time the
347 CASES+= variable-undef-between
348 LINES.variable-undef-between= \
352 UNDEF_BETWEEN.variable-undef-between= \
354 # expect: Parse_PushInput: file variable-undef-between.tmp, line 1
355 # expect: Parse_PushInput: file variable-undef-between.tmp, line 1
357 # If the guard variable is undefined while the file is included the first
359 CASES+= variable-undef-inside
360 LINES.variable-undef-inside= \
365 # expect: Parse_PushInput: file variable-undef-inside.tmp, line 1
366 # expect: Parse_PushInput: file variable-undef-inside.tmp, line 1
368 # If the file does not define the guard variable, the guard does not have an
370 CASES+= variable-not-defined
371 LINES.variable-not-defined= \
374 # expect: Parse_PushInput: file variable-not-defined.tmp, line 1
375 # expect: Parse_PushInput: file variable-not-defined.tmp, line 1
441 # The guard can also be a target instead of a variable. Using a target as a
466 # The target name may include variable references. These references are