Module Name:    src
Committed By:   sjg
Date:           Sat Aug 30 22:21:08 UTC 2014

Modified Files:
        src/usr.bin/make/unit-tests: impsrc.mk posix1.exp posix1.mk suffixes.mk
            sysv.mk varmisc.mk

Log Message:
Replace use of $() with ${}
$() means something special to the shell, so ${} reduces confusion
and is used almost exclusively in the rest of the makefiles.

Discussed with: christos


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/impsrc.mk \
    src/usr.bin/make/unit-tests/sysv.mk \
    src/usr.bin/make/unit-tests/varmisc.mk
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/posix1.exp
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/posix1.mk \
    src/usr.bin/make/unit-tests/suffixes.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/unit-tests/impsrc.mk
diff -u src/usr.bin/make/unit-tests/impsrc.mk:1.1 src/usr.bin/make/unit-tests/impsrc.mk:1.2
--- src/usr.bin/make/unit-tests/impsrc.mk:1.1	Sat Aug 23 15:05:40 2014
+++ src/usr.bin/make/unit-tests/impsrc.mk	Sat Aug 30 22:21:07 2014
@@ -1,7 +1,7 @@
-# $NetBSD: impsrc.mk,v 1.1 2014/08/23 15:05:40 christos Exp $
+# $NetBSD: impsrc.mk,v 1.2 2014/08/30 22:21:07 sjg Exp $
 
-# Does $(.IMPSRC) work properly?
-# It should be set, in order of precedence, to $(.TARGET) of:
+# Does ${.IMPSRC} work properly?
+# It should be set, in order of precedence, to ${.TARGET} of:
 #  1) the implied source of a transformation rule,
 #  2) the first prerequisite from the dependency line of an explicit rule, or
 #  3) the first prerequisite of an explicit rule.
Index: src/usr.bin/make/unit-tests/sysv.mk
diff -u src/usr.bin/make/unit-tests/sysv.mk:1.1 src/usr.bin/make/unit-tests/sysv.mk:1.2
--- src/usr.bin/make/unit-tests/sysv.mk:1.1	Thu Aug 21 13:44:52 2014
+++ src/usr.bin/make/unit-tests/sysv.mk	Sat Aug 30 22:21:08 2014
@@ -1,7 +1,7 @@
-# $Id: sysv.mk,v 1.1 2014/08/21 13:44:52 apb Exp $
+# $Id: sysv.mk,v 1.2 2014/08/30 22:21:08 sjg Exp $
 
 FOO ?=
-FOOBAR = $(FOO:=bar)
+FOOBAR = ${FOO:=bar}
 
 _this := ${.PARSEDIR}/${.PARSEFILE}
 
@@ -14,7 +14,7 @@ SUN = the Sun
 all: foo fun
 
 foo:
-	@echo FOOBAR = $(FOOBAR)
+	@echo FOOBAR = ${FOOBAR}
 .if empty(FOO)
 	@FOO="foo fu" ${.MAKE} -f ${_this} foo
 .endif
Index: src/usr.bin/make/unit-tests/varmisc.mk
diff -u src/usr.bin/make/unit-tests/varmisc.mk:1.1 src/usr.bin/make/unit-tests/varmisc.mk:1.2
--- src/usr.bin/make/unit-tests/varmisc.mk:1.1	Thu Aug 21 15:37:13 2014
+++ src/usr.bin/make/unit-tests/varmisc.mk	Sat Aug 30 22:21:08 2014
@@ -1,8 +1,8 @@
-# $Id: varmisc.mk,v 1.1 2014/08/21 15:37:13 apb Exp $
+# $Id: varmisc.mk,v 1.2 2014/08/30 22:21:08 sjg Exp $
 #
 # Miscellaneous variable tests.
 
 all: unmatched_var_paren
 
 unmatched_var_paren:
-	@echo $(foo::=foo-text)
+	@echo ${foo::=foo-text}

Index: src/usr.bin/make/unit-tests/posix1.exp
diff -u src/usr.bin/make/unit-tests/posix1.exp:1.3 src/usr.bin/make/unit-tests/posix1.exp:1.4
--- src/usr.bin/make/unit-tests/posix1.exp:1.3	Fri Aug 29 15:55:44 2014
+++ src/usr.bin/make/unit-tests/posix1.exp	Sat Aug 30 22:21:08 2014
@@ -1,4 +1,4 @@
-$(VAR) = "foo  bar baz"
+${VAR} = "foo  bar baz"
 a
 b
 c
@@ -9,81 +9,81 @@ mkdir -p 'dir'
 printf '#include "obj_1.h"\nconst char* obj_1 = "dir/obj_1.c";\n' \
     >'dir/obj_1.c'
 Local variables
- $(@)="dir/obj_1.o" $(<)="dir/obj_1.c"
- $(*)="dir/obj_1" $(?)="dir/obj_1.h dir/obj_1.c"
- $(%)=""
+ ${@}="dir/obj_1.o" ${<}="dir/obj_1.c"
+ ${*}="dir/obj_1" ${?}="dir/obj_1.h dir/obj_1.c"
+ ${%}=""
 
 Directory and filename parts of local variables
- $(@D)="dir" $(@F)="obj_1.o"
- $(<D)="dir" $(<F)="obj_1.c"
- $(*D)="dir" $(*F)="obj_1"
- $(?D)="dir dir" $(?F)="obj_1.h obj_1.c"
- $(%D)="" $(%F)=""
+ ${@D}="dir" ${@F}="obj_1.o"
+ ${<D}="dir" ${<F}="obj_1.c"
+ ${*D}="dir" ${*F}="obj_1"
+ ${?D}="dir dir" ${?F}="obj_1.h obj_1.c"
+ ${%D}="" ${%F}=""
 
 Local variable substitutions
- $(@:.o=)="dir/obj_1" $(<:.c=.C)="dir/obj_1.C"
- $(*:=.h)="dir/obj_1.h" $(?:.h=.H)="dir/obj_1.H dir/obj_1.c"
- $(%:=)=""
+ ${@:.o=}="dir/obj_1" ${<:.c=.C}="dir/obj_1.C"
+ ${*:=.h}="dir/obj_1.h" ${?:.h=.H}="dir/obj_1.H dir/obj_1.c"
+ ${%:=}=""
 
 Target with suffix transformations
- $(@D:=append)="dirappend"
- $(@F:.o=.O)="obj_1.O"
+ ${@D:=append}="dirappend"
+ ${@F:.o=.O}="obj_1.O"
  
  Implied source with suffix transformations
- $(<D:r=rr)="dirr"
- $(<F:.c=.C)="obj_1.C"
+ ${<D:r=rr}="dirr"
+ ${<F:.c=.C}="obj_1.C"
  
  Suffixless target with suffix transformations
- $(*D:.=dot)="dir"
- $(*F:.a=)="obj_1"
+ ${*D:.=dot}="dir"
+ ${*F:.a=}="obj_1"
  
  Out-of-date dependencies with suffix transformations
- $(?D:ir=)="d d"
- $(?F:.h=.H)="obj_1.H obj_1.c"
+ ${?D:ir=}="d d"
+ ${?F:.h=.H}="obj_1.H obj_1.c"
  
  Member with suffix transformations
- $(%D:.=)=""
- $(%F:$(VAR2)=$(VAR))=""
+ ${%D:.=}=""
+ ${%F:${VAR2}=${VAR}}=""
 
 cc -c -o 'dir/obj_1.o' 'dir/obj_1.c'
 mkdir -p '.'
 touch 'dummy'
 Local variables
- $(@)="lib.a" $(<)="dir/obj_1.o"
- $(*)="obj1" $(?)="dir/obj_1.o dummy"
- $(%)="obj1.o"
+ ${@}="lib.a" ${<}="dir/obj_1.o"
+ ${*}="obj1" ${?}="dir/obj_1.o dummy"
+ ${%}="obj1.o"
 
 Directory and filename parts of local variables
- $(@D)="." $(@F)="lib.a"
- $(<D)="dir" $(<F)="obj_1.o"
- $(*D)="." $(*F)="obj1"
- $(?D)="dir ." $(?F)="obj_1.o dummy"
- $(%D)="." $(%F)="obj1.o"
+ ${@D}="." ${@F}="lib.a"
+ ${<D}="dir" ${<F}="obj_1.o"
+ ${*D}="." ${*F}="obj1"
+ ${?D}="dir ." ${?F}="obj_1.o dummy"
+ ${%D}="." ${%F}="obj1.o"
 
 Local variable substitutions
- $(@:.o=)="lib.a" $(<:.c=.C)="dir/obj_1.o"
- $(*:=.h)="obj1.h" $(?:.h=.H)="dir/obj_1.o dummy"
- $(%:=)="obj1.o"
+ ${@:.o=}="lib.a" ${<:.c=.C}="dir/obj_1.o"
+ ${*:=.h}="obj1.h" ${?:.h=.H}="dir/obj_1.o dummy"
+ ${%:=}="obj1.o"
 
 Target with suffix transformations
- $(@D:=append)=".append"
- $(@F:.o=.O)="lib.a"
+ ${@D:=append}=".append"
+ ${@F:.o=.O}="lib.a"
  
  Implied source with suffix transformations
- $(<D:r=rr)="dirr"
- $(<F:.c=.C)="obj_1.o"
+ ${<D:r=rr}="dirr"
+ ${<F:.c=.C}="obj_1.o"
  
  Suffixless target with suffix transformations
- $(*D:.=dot)="dot"
- $(*F:.a=)="obj1"
+ ${*D:.=dot}="dot"
+ ${*F:.a=}="obj1"
  
  Out-of-date dependencies with suffix transformations
- $(?D:ir=)="d ."
- $(?F:.h=.H)="obj_1.o dummy"
+ ${?D:ir=}="d ."
+ ${?F:.h=.H}="obj_1.o dummy"
  
  Member with suffix transformations
- $(%D:.=)=""
- $(%F:$(VAR2)=$(VAR))="obj1foo  bar baz"
+ ${%D:.=}=""
+ ${%F:${VAR2}=${VAR}}="obj1foo  bar baz"
 
 cp 'dir/obj_1.o' 'obj1.o'
 ar -rcv 'lib.a' 'obj1.o'
@@ -95,41 +95,41 @@ printf '#include "obj_2.h"\nconst char* 
 mkdir -p '.'
 touch 'obj_2.h'
 Local variables
- $(@)="obj2.o" $(<)="obj_2.c"
- $(*)="obj2" $(?)="obj_2.c obj_2.h dir/obj_1.h"
- $(%)=""
+ ${@}="obj2.o" ${<}="obj_2.c"
+ ${*}="obj2" ${?}="obj_2.c obj_2.h dir/obj_1.h"
+ ${%}=""
 
 Directory and filename parts of local variables
- $(@D)="." $(@F)="obj2.o"
- $(<D)="." $(<F)="obj_2.c"
- $(*D)="." $(*F)="obj2"
- $(?D)=". . dir" $(?F)="obj_2.c obj_2.h obj_1.h"
- $(%D)="" $(%F)=""
+ ${@D}="." ${@F}="obj2.o"
+ ${<D}="." ${<F}="obj_2.c"
+ ${*D}="." ${*F}="obj2"
+ ${?D}=". . dir" ${?F}="obj_2.c obj_2.h obj_1.h"
+ ${%D}="" ${%F}=""
 
 Local variable substitutions
- $(@:.o=)="obj2" $(<:.c=.C)="obj_2.C"
- $(*:=.h)="obj2.h" $(?:.h=.H)="obj_2.c obj_2.H dir/obj_1.H"
- $(%:=)=""
+ ${@:.o=}="obj2" ${<:.c=.C}="obj_2.C"
+ ${*:=.h}="obj2.h" ${?:.h=.H}="obj_2.c obj_2.H dir/obj_1.H"
+ ${%:=}=""
 
 Target with suffix transformations
- $(@D:=append)=".append"
- $(@F:.o=.O)="obj2.O"
+ ${@D:=append}=".append"
+ ${@F:.o=.O}="obj2.O"
  
  Implied source with suffix transformations
- $(<D:r=rr)="."
- $(<F:.c=.C)="obj_2.C"
+ ${<D:r=rr}="."
+ ${<F:.c=.C}="obj_2.C"
  
  Suffixless target with suffix transformations
- $(*D:.=dot)="dot"
- $(*F:.a=)="obj2"
+ ${*D:.=dot}="dot"
+ ${*F:.a=}="obj2"
  
  Out-of-date dependencies with suffix transformations
- $(?D:ir=)=". . d"
- $(?F:.h=.H)="obj_2.c obj_2.H obj_1.H"
+ ${?D:ir=}=". . d"
+ ${?F:.h=.H}="obj_2.c obj_2.H obj_1.H"
  
  Member with suffix transformations
- $(%D:.=)=""
- $(%F:$(VAR2)=$(VAR))=""
+ ${%D:.=}=""
+ ${%F:${VAR2}=${VAR}}=""
 
 cc -c -o 'obj2.o' 'obj_2.c'
 ar -rcv 'lib.a' 'obj2.o'
@@ -142,41 +142,41 @@ mkdir -p '.'
 printf '#include "obj3.h"\nconst char* obj3 = "obj3.c";\n' \
     >'obj3.c'
 Local variables
- $(@)="lib.a" $(<)="obj3.c"
- $(*)="obj3" $(?)="obj3.h dir/dummy obj3.c"
- $(%)="obj3.o"
+ ${@}="lib.a" ${<}="obj3.c"
+ ${*}="obj3" ${?}="obj3.h dir/dummy obj3.c"
+ ${%}="obj3.o"
 
 Directory and filename parts of local variables
- $(@D)="." $(@F)="lib.a"
- $(<D)="." $(<F)="obj3.c"
- $(*D)="." $(*F)="obj3"
- $(?D)=". dir ." $(?F)="obj3.h dummy obj3.c"
- $(%D)="." $(%F)="obj3.o"
+ ${@D}="." ${@F}="lib.a"
+ ${<D}="." ${<F}="obj3.c"
+ ${*D}="." ${*F}="obj3"
+ ${?D}=". dir ." ${?F}="obj3.h dummy obj3.c"
+ ${%D}="." ${%F}="obj3.o"
 
 Local variable substitutions
- $(@:.o=)="lib.a" $(<:.c=.C)="obj3.C"
- $(*:=.h)="obj3.h" $(?:.h=.H)="obj3.H dir/dummy obj3.c"
- $(%:=)="obj3.o"
+ ${@:.o=}="lib.a" ${<:.c=.C}="obj3.C"
+ ${*:=.h}="obj3.h" ${?:.h=.H}="obj3.H dir/dummy obj3.c"
+ ${%:=}="obj3.o"
 
 Target with suffix transformations
- $(@D:=append)=".append"
- $(@F:.o=.O)="lib.a"
+ ${@D:=append}=".append"
+ ${@F:.o=.O}="lib.a"
  
  Implied source with suffix transformations
- $(<D:r=rr)="."
- $(<F:.c=.C)="obj3.C"
+ ${<D:r=rr}="."
+ ${<F:.c=.C}="obj3.C"
  
  Suffixless target with suffix transformations
- $(*D:.=dot)="dot"
- $(*F:.a=)="obj3"
+ ${*D:.=dot}="dot"
+ ${*F:.a=}="obj3"
  
  Out-of-date dependencies with suffix transformations
- $(?D:ir=)=". d ."
- $(?F:.h=.H)="obj3.H dummy obj3.c"
+ ${?D:ir=}=". d ."
+ ${?F:.h=.H}="obj3.H dummy obj3.c"
  
  Member with suffix transformations
- $(%D:.=)=""
- $(%F:$(VAR2)=$(VAR))="obj3foo  bar baz"
+ ${%D:.=}=""
+ ${%F:${VAR2}=${VAR}}="obj3foo  bar baz"
 
 cc -c -o 'obj3.o' 'obj3.c'
 ar -rcv 'lib.a' 'obj3.o'

Index: src/usr.bin/make/unit-tests/posix1.mk
diff -u src/usr.bin/make/unit-tests/posix1.mk:1.2 src/usr.bin/make/unit-tests/posix1.mk:1.3
--- src/usr.bin/make/unit-tests/posix1.mk:1.2	Fri Aug 29 15:55:44 2014
+++ src/usr.bin/make/unit-tests/posix1.mk	Sat Aug 30 22:21:08 2014
@@ -1,4 +1,4 @@
-# $NetBSD: posix1.mk,v 1.2 2014/08/29 15:55:44 sjg Exp $
+# $NetBSD: posix1.mk,v 1.3 2014/08/30 22:21:08 sjg Exp $
 
 # Keep the default suffixes from interfering, just in case.
 .SUFFIXES:
@@ -19,7 +19,7 @@ clean:
 # are retained, but a single leading tab (if any) from the next line is
 # removed. (PR 49085)
 # Expect:
-# $(VAR) = "foo  bar baz"
+# ${VAR} = "foo  bar baz"
 # a
 # b
 # c
@@ -29,7 +29,7 @@ VAR = foo\
  baz
 
 line-continuations:
-	@echo '$$(VAR) = "$(VAR)"'
+	@echo '$${VAR} = "${VAR}"'
 	@echo 'aXbXc' | sed -e 's/X/\
 	/g'
 
@@ -39,11 +39,11 @@ line-continuations:
 #
 
 # The only variable modifier accepted by POSIX.
-# $(VAR:s1=s2): replace s1, if found, with s2 at end of each word in
-# $(VAR).  s1 and s2 may contain macro expansions.
+# ${VAR:s1=s2}: replace s1, if found, with s2 at end of each word in
+# ${VAR}.  s1 and s2 may contain macro expansions.
 # Expect: foo baR baz, bar baz, foo bar baz, fooadd baradd bazadd
 suffix-substitution:
-	@echo '$(VAR:r=R), $(VAR:foo=), $(VAR:not_there=wrong), $(VAR:=add)'
+	@echo '${VAR:r=R}, ${VAR:foo=}, ${VAR:not_there=wrong}, ${VAR:=add}'
 
 
 #
@@ -62,19 +62,19 @@ localvars: lib.a
 # $% = archive member name
 LOCALS = \
 	"Local variables\n\
-	\$$(@)=\"$(@)\" \$$(<)=\"$(<)\"\n\
-	\$$(*)=\"$(*)\" \$$(?)=\"$(?)\"\n\
-	\$$(%%)=\"$(%)\"\n\n"
+	\$${@}=\"${@}\" \$${<}=\"${<}\"\n\
+	\$${*}=\"${*}\" \$${?}=\"${?}\"\n\
+	\$${%%}=\"${%}\"\n\n"
 
 # $XD = directory part of X	$XF = file part of X
 # X is one of the local variables.
 LOCAL_ALTERNATIVES = \
 	"Directory and filename parts of local variables\n\
-	\$$(@D)=\"$(@D)\" \$$(@F)=\"$(@F)\"\n\
-	\$$(<D)=\"$(<D)\" \$$(<F)=\"$(<F)\"\n\
-	\$$(*D)=\"$(*D)\" \$$(*F)=\"$(*F)\"\n\
-	\$$(?D)=\"$(?D)\" \$$(?F)=\"$(?F)\"\n\
-	\$$(%%D)=\"$(%D)\" \$$(%%F)=\"$(%F)\"\n\n"
+	\$${@D}=\"${@D}\" \$${@F}=\"${@F}\"\n\
+	\$${<D}=\"${<D}\" \$${<F}=\"${<F}\"\n\
+	\$${*D}=\"${*D}\" \$${*F}=\"${*F}\"\n\
+	\$${?D}=\"${?D}\" \$${?F}=\"${?F}\"\n\
+	\$${%%D}=\"${%D}\" \$${%%F}=\"${%F}\"\n\n"
 
 # Do all kinds of meaningless substitutions on local variables to see
 # if they work.  Add, remove and replace things.
@@ -82,30 +82,30 @@ VAR2 = .o
 VAR3 = foo
 LOCAL_SUBSTITUTIONS = \
 	"Local variable substitutions\n\
-	\$$(@:.o=)=\"$(@:.o=)\" \$$(<:.c=.C)=\"$(<:.c=.C)\"\n\
-	\$$(*:=.h)=\"$(*:=.h)\" \$$(?:.h=.H)=\"$(?:.h=.H)\"\n\
-	\$$(%%:=)=\"$(%:=)\"\n\n"
+	\$${@:.o=}=\"${@:.o=}\" \$${<:.c=.C}=\"${<:.c=.C}\"\n\
+	\$${*:=.h}=\"${*:=.h}\" \$${?:.h=.H}=\"${?:.h=.H}\"\n\
+	\$${%%:=}=\"${%:=}\"\n\n"
 
 LOCAL_ALTERNATIVE_SUBSTITUTIONS = \
 	"Target with suffix transformations\n\
-	\$$(@D:=append)=\"$(@D:=append)\"\n\
-	\$$(@F:.o=.O)=\"$(@F:.o=.O)\"\n\
+	\$${@D:=append}=\"${@D:=append}\"\n\
+	\$${@F:.o=.O}=\"${@F:.o=.O}\"\n\
 	\n\
 	Implied source with suffix transformations\n\
-	\$$(<D:r=rr)=\"$(<D:r=rr)\"\n\
-	\$$(<F:.c=.C)=\"$(<F:.c=.C)\"\n\
+	\$${<D:r=rr}=\"${<D:r=rr}\"\n\
+	\$${<F:.c=.C}=\"${<F:.c=.C}\"\n\
 	\n\
 	Suffixless target with suffix transformations\n\
-	\$$(*D:.=dot)=\"$(*D:.=dot)\"\n\
-	\$$(*F:.a=)=\"$(*F:.a=)\"\n\
+	\$${*D:.=dot}=\"${*D:.=dot}\"\n\
+	\$${*F:.a=}=\"${*F:.a=}\"\n\
 	\n\
 	Out-of-date dependencies with suffix transformations\n\
-	\$$(?D:ir=)=\"$(?D:ir=)\"\n\
-	\$$(?F:.h=.H)=\"$(?F:.h=.H)\"\n\
+	\$${?D:ir=}=\"${?D:ir=}\"\n\
+	\$${?F:.h=.H}=\"${?F:.h=.H}\"\n\
 	\n\
 	Member with suffix transformations\n\
-	\$$(%%D:.=)=\"$(%D:.=)\"\n\
-	\$$(%%F:\$$(VAR2)=\$$(VAR))=\"$(%F:$(VAR2)=$(VAR))\"\n\n"
+	\$${%%D:.=}=\"${%D:.=}\"\n\
+	\$${%%F:\$${VAR2}=\$${VAR}}=\"${%F:${VAR2}=${VAR}}\"\n\n"
 
 .SUFFIXES: .c .o .a
 
@@ -113,43 +113,43 @@ LOCAL_ALTERNATIVE_SUBSTITUTIONS = \
 # but such a thing is not POSIX compatible.  It's also somewhat useless
 # in a test makefile.
 .c.a:
-	@printf $(LOCALS)
-	@printf $(LOCAL_ALTERNATIVES)
-	@printf $(LOCAL_SUBSTITUTIONS)
-	@printf $(LOCAL_ALTERNATIVE_SUBSTITUTIONS)
-	cc -c -o '$(%)' '$(<)'
-	ar $(ARFLAGS) '$(@)' '$(%)'
-	rm -f '$(%)'
+	@printf ${LOCALS}
+	@printf ${LOCAL_ALTERNATIVES}
+	@printf ${LOCAL_SUBSTITUTIONS}
+	@printf ${LOCAL_ALTERNATIVE_SUBSTITUTIONS}
+	cc -c -o '${%}' '${<}'
+	ar ${ARFLAGS} '${@}' '${%}'
+	rm -f '${%}'
 
 .c.o:
-	@printf $(LOCALS)
-	@printf $(LOCAL_ALTERNATIVES)
-	@printf $(LOCAL_SUBSTITUTIONS)
-	@printf $(LOCAL_ALTERNATIVE_SUBSTITUTIONS)
-	cc -c -o '$(@)' '$(<)'
+	@printf ${LOCALS}
+	@printf ${LOCAL_ALTERNATIVES}
+	@printf ${LOCAL_SUBSTITUTIONS}
+	@printf ${LOCAL_ALTERNATIVE_SUBSTITUTIONS}
+	cc -c -o '${@}' '${<}'
 
 # Some of these rules are padded with useless extra dependencies just so
-# that $(?) has more than one file.
+# that ${?} has more than one file.
 
 lib.a: lib.a(obj1.o) lib.a(obj2.o) lib.a(obj3.o)
-	ar -s '$(@)'
+	ar -s '${@}'
 
 # Explicit rule where the dependency is an inferred file.  The dependency
 # object's name differs from the member's because there was a bug which
 # forced a dependency on member even when no such dependency was specified
 # (PR 49086).
 lib.a(obj1.o): dir/obj_1.o dummy
-	@printf $(LOCALS)
-	@printf $(LOCAL_ALTERNATIVES)
-	@printf $(LOCAL_SUBSTITUTIONS)
-	@printf $(LOCAL_ALTERNATIVE_SUBSTITUTIONS)
+	@printf ${LOCALS}
+	@printf ${LOCAL_ALTERNATIVES}
+	@printf ${LOCAL_SUBSTITUTIONS}
+	@printf ${LOCAL_ALTERNATIVE_SUBSTITUTIONS}
 	cp 'dir/obj_1.o' '$%'
-	ar $(ARFLAGS) '$(@)' '$%'
+	ar ${ARFLAGS} '${@}' '$%'
 	rm -f '$%'
 
 # Excplicit rule where the dependency also has an explicit rule.
 lib.a(obj2.o): obj2.o
-	ar $(ARFLAGS) '$(@)' '$(%)'
+	ar ${ARFLAGS} '${@}' '${%}'
 
 # Use .c.a inference with an extra dependency.
 lib.a(obj3.o): obj3.h dir/dummy
@@ -165,20 +165,20 @@ dir/obj_1.o: dir/obj_1.h
 # was a bug which forced dependencies based on inference rules on all
 # applicable targets (PR 49086).
 obj2.o: obj_2.c obj_2.h dir/obj_1.h
-	@printf $(LOCALS)
-	@printf $(LOCAL_ALTERNATIVES)
-	@printf $(LOCAL_SUBSTITUTIONS)
-	@printf $(LOCAL_ALTERNATIVE_SUBSTITUTIONS)
-	cc -c -o '$(@)' 'obj_2.c'
+	@printf ${LOCALS}
+	@printf ${LOCAL_ALTERNATIVES}
+	@printf ${LOCAL_SUBSTITUTIONS}
+	@printf ${LOCAL_ALTERNATIVE_SUBSTITUTIONS}
+	cc -c -o '${@}' 'obj_2.c'
 
 # Hey, this is make, we can make our own test data setup!  obj1.c
 # and obj2.c are not used, so they should not get created.  They're here
 # as a bait for a regression into the forced dependencies discussed earlier.
 obj1.c dir/obj_1.c obj2.c obj_2.c obj3.c:
-	mkdir -p '$(@D)'
-	printf '#include "$(@F:.c=.h)"\nconst char* $(@F:.c=) = "$(@)";\n' \
-	    >'$(@)'
+	mkdir -p '${@D}'
+	printf '#include "${@F:.c=.h}"\nconst char* ${@F:.c=} = "${@}";\n' \
+	    >'${@}'
 
 dir/obj_1.h obj_2.h obj3.h dummy dir/dummy:
-	mkdir -p '$(@D)'
-	touch '$(@)'
+	mkdir -p '${@D}'
+	touch '${@}'
Index: src/usr.bin/make/unit-tests/suffixes.mk
diff -u src/usr.bin/make/unit-tests/suffixes.mk:1.2 src/usr.bin/make/unit-tests/suffixes.mk:1.3
--- src/usr.bin/make/unit-tests/suffixes.mk:1.2	Fri Aug 29 15:55:44 2014
+++ src/usr.bin/make/unit-tests/suffixes.mk	Sat Aug 30 22:21:08 2014
@@ -1,4 +1,4 @@
-# $NetBSD: suffixes.mk,v 1.2 2014/08/29 15:55:44 sjg Exp $
+# $NetBSD: suffixes.mk,v 1.3 2014/08/30 22:21:08 sjg Exp $
 
 # Issues from PR 49086
 
@@ -42,7 +42,7 @@ all: issue10.e
 #
 # issue11.j should depend on issue11.i and issue11.second and issue11.i
 # should depend on issue11.h and issue11.first.  The bug was that
-# the dynamic sources were expanded before $(.PREFIX) and $(.TARGET) were
+# the dynamic sources were expanded before ${.PREFIX} and ${.TARGET} were
 # available, so they would have expanded to a null string.
 all: issue11.j
 
@@ -54,36 +54,36 @@ clean:
 .SUFFIXES: .a .b .c
 
 .a .a.b .b.a:
-	@echo 'There should be no text after the colon: $(.IMPSRC)'
-	touch $(.TARGET)
+	@echo 'There should be no text after the colon: ${.IMPSRC}'
+	touch ${.TARGET}
 
 .c.d .d.c .d .d.e .e.d:
 	@echo 'first set'
-	cp $(.IMPSRC) $(.TARGET)
+	cp ${.IMPSRC} ${.TARGET}
 
 .SUFFIXES:
 .SUFFIXES: .c .d .e .f .g
 
 .e .e.f .f.e:
 	@echo 'second set'
-	cp $(.IMPSRC) $(.TARGET)
+	cp ${.IMPSRC} ${.TARGET}
 
 issue3.a:
 	@echo 'There is a bug if you see this.'
-	touch $(.TARGET)
+	touch ${.TARGET}
 
 issue5a.c issue5b.d issue5c.d issue5d.d issue5e.e issue10.d issue10.f:
-	touch $(.TARGET)
+	touch ${.TARGET}
 
 .SUFFIXES: .h .i .j
 
-.h.i: $(.PREFIX).first
-	@echo '.ALLSRC: $(.ALLSRC)'
-	cp $(.IMPSRC) $(.TARGET)
-
-.i.j: $(.PREFIX).second
-	@echo '.ALLSRC: $(.ALLSRC)'
-	cp $(.IMPSRC) $(.TARGET)
+.h.i: ${.PREFIX}.first
+	@echo '.ALLSRC: ${.ALLSRC}'
+	cp ${.IMPSRC} ${.TARGET}
+
+.i.j: ${.PREFIX}.second
+	@echo '.ALLSRC: ${.ALLSRC}'
+	cp ${.IMPSRC} ${.TARGET}
 
 issue11.h issue11.first issue11.second:
-	touch $(.TARGET)
+	touch ${.TARGET}

Reply via email to