make(1): add test for the $$ expression
This commit is contained in:
parent
697a5bfd15
commit
57bd6e4e52
@ -1 +1,5 @@
|
||||
make: "varname-dollar.mk" line 16: dollar is $.
|
||||
make: "varname-dollar.mk" line 17: dollar in braces is .
|
||||
make: "varname-dollar.mk" line 25: dollar is $.
|
||||
make: "varname-dollar.mk" line 26: dollar in braces is dollar.
|
||||
exit status 0
|
||||
|
@ -1,9 +1,29 @@
|
||||
# $NetBSD: varname-dollar.mk,v 1.2 2020/08/16 14:25:16 rillig Exp $
|
||||
# $NetBSD: varname-dollar.mk,v 1.3 2020/08/19 05:40:06 rillig Exp $
|
||||
#
|
||||
# Tests for the expression "$$", which looks as if it referred to a variable,
|
||||
# but simply expands to a single '$' sign.
|
||||
#
|
||||
# If there really were a special variable named '$', the expressions ${${DOLLAR}}
|
||||
# and $$ would always expand to the same value.
|
||||
|
||||
# TODO: Implementation
|
||||
# Using the dollar sign in variable names is tricky and not recommended.
|
||||
# To see that using this variable indeed affects the variable '$', run the
|
||||
# test individually with the -dv option.
|
||||
DOLLAR= $$
|
||||
|
||||
# At this point, the variable '$' is not defined. Therefore the second line
|
||||
# returns an empty string.
|
||||
.info dollar is $$.
|
||||
.info dollar in braces is ${${DOLLAR}}.
|
||||
|
||||
# Now overwrite the '$' variable to see whether '$$' really expands to that
|
||||
# variable, or whether '$$' is handled by the parser.
|
||||
${DOLLAR}= dollar
|
||||
|
||||
# At this point, the variable '$' is defined, therefore its value is printed
|
||||
# in the second .info directive.
|
||||
.info dollar is $$.
|
||||
.info dollar in braces is ${${DOLLAR}}.
|
||||
|
||||
all:
|
||||
@:;
|
||||
|
Loading…
Reference in New Issue
Block a user