mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-22 10:48:02 +00:00
![Simon J. Gerraty](/assets/img/avatar_default.png)
Lots of new unit-tests increase code coverage. Lots of refactoring, cleanup and simlpification to reduce code size. Fixes for Bug 223564 and 245807 Updates to dirdeps.mk and meta2deps.py
65 lines
1.5 KiB
Makefile
65 lines
1.5 KiB
Makefile
# $NetBSD: vardebug.mk,v 1.6 2020/10/31 13:15:10 rillig Exp $
|
|
#
|
|
# Demonstrates the debugging output for var.c.
|
|
|
|
.MAKEFLAGS: -dv FROM_CMDLINE=
|
|
|
|
VAR= added # VarAdd
|
|
VAR= overwritten # Var_Set
|
|
.undef VAR # Var_Delete (found)
|
|
.undef VAR # Var_Delete (not found)
|
|
|
|
# The variable with the empty name cannot be set at all.
|
|
${:U}= empty name # Var_Set
|
|
${:U}+= empty name # Var_Append
|
|
|
|
FROM_CMDLINE= overwritten # Var_Set (ignored)
|
|
|
|
VAR= 1
|
|
VAR+= 2
|
|
VAR+= 3
|
|
|
|
.if ${VAR:M[2]} # ModifyWord_Match
|
|
.endif
|
|
.if ${VAR:N[2]} # ModifyWord_NoMatch (no debug output)
|
|
.endif
|
|
|
|
.if ${VAR:S,2,two,} # ParseModifierPart
|
|
.endif
|
|
|
|
.if ${VAR:Q} # VarQuote
|
|
.endif
|
|
|
|
.if ${VAR:tu:tl:Q} # ApplyModifiers
|
|
.endif
|
|
|
|
# ApplyModifiers, "Got ..."
|
|
.if ${:Uvalue:${:UM*e}:Mvalu[e]}
|
|
.endif
|
|
|
|
.undef ${:UVAR} # Var_Delete
|
|
|
|
# When ApplyModifiers results in an error, this appears in the debug log
|
|
# as "is error", without surrounding quotes.
|
|
.if ${:Uvariable:unknown}
|
|
.endif
|
|
|
|
# XXX: The error message is "Malformed conditional", which is wrong.
|
|
# The condition is syntactically fine, it just contains an undefined variable.
|
|
#
|
|
# There is a specialized error message for "Undefined variable", but as of
|
|
# 2020-08-08, that is not covered by any unit tests. It might even be
|
|
# unreachable.
|
|
.if ${UNDEFINED}
|
|
.endif
|
|
|
|
# By default, .SHELL is not defined and thus can be set. As soon as it is
|
|
# accessed, it is initialized in the command line context (during VarFind),
|
|
# where it is set to read-only. Assigning to it is ignored.
|
|
.MAKEFLAGS: .SHELL=overwritten
|
|
|
|
.MAKEFLAGS: -d0
|
|
|
|
all:
|
|
@:
|