vardebug.mk revision 1.3 1 1.3 rillig # $NetBSD: vardebug.mk,v 1.3 2020/08/08 14:28:46 rillig Exp $
2 1.1 rillig #
3 1.1 rillig # Demonstrates the debugging output for var.c.
4 1.1 rillig
5 1.1 rillig RELEVANT= yes
6 1.1 rillig
7 1.1 rillig VAR= added # VarAdd
8 1.1 rillig VAR= overwritten # Var_Set
9 1.1 rillig .undef VAR # Var_Delete (found)
10 1.1 rillig .undef VAR # Var_Delete (not found)
11 1.1 rillig
12 1.1 rillig # The variable with the empty name cannot be set at all.
13 1.1 rillig ${:U}= empty name # Var_Set
14 1.1 rillig ${:U}+= empty name # Var_Append
15 1.1 rillig
16 1.1 rillig FROM_CMDLINE= overwritten # Var_Set (ignored)
17 1.1 rillig
18 1.1 rillig VAR= 1
19 1.1 rillig VAR+= 2
20 1.1 rillig VAR+= 3
21 1.1 rillig
22 1.1 rillig .if ${VAR:M[2]} # VarMatch
23 1.1 rillig .endif
24 1.1 rillig .if ${VAR:N[2]} # VarNoMatch (no debug output)
25 1.1 rillig .endif
26 1.1 rillig
27 1.1 rillig .if ${VAR:S,2,two,} # VarGetPattern
28 1.1 rillig .endif
29 1.1 rillig
30 1.1 rillig .if ${VAR:Q} # VarQuote
31 1.1 rillig .endif
32 1.1 rillig
33 1.1 rillig .if ${VAR:tu:tl:Q} # ApplyModifiers
34 1.1 rillig .endif
35 1.1 rillig
36 1.2 rillig # ApplyModifiers, "Got ..."
37 1.2 rillig .if ${:Uvalue:${:UM*e}:Mvalu[e]}
38 1.2 rillig .endif
39 1.2 rillig
40 1.1 rillig .undef ${:UVAR} # Var_Delete
41 1.1 rillig
42 1.3 rillig # When ApplyModifiers results in an error, this appears in the debug log
43 1.3 rillig # as "is error", without surrounding quotes.
44 1.3 rillig .if ${:Uvariable:unknown}
45 1.3 rillig .endif
46 1.3 rillig
47 1.3 rillig # XXX: The error message is "Malformed conditional", which is wrong.
48 1.3 rillig # The condition is syntactically fine, it just contains an undefined variable.
49 1.3 rillig #
50 1.3 rillig # There is a specialized error message for "Undefined variable", but as of
51 1.3 rillig # 2020-08-08, that is not covered by any unit tests. It might even be
52 1.3 rillig # unreachable.
53 1.3 rillig .if ${UNDEFINED}
54 1.3 rillig .endif
55 1.3 rillig
56 1.1 rillig RELEVANT= no
57 1.1 rillig
58 1.1 rillig all:
59 1.1 rillig @:
60