diff options
-rw-r--r-- | regress/make-quoting/Makefile | 6 | ||||
-rw-r--r-- | regress/make-quoting/files/bug2.mk | 22 | ||||
-rw-r--r-- | regress/make-quoting/files/bug2.out | 4 |
3 files changed, 29 insertions, 3 deletions
diff --git a/regress/make-quoting/Makefile b/regress/make-quoting/Makefile index 022f676b5dd..53a7cc0e37c 100644 --- a/regress/make-quoting/Makefile +++ b/regress/make-quoting/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2005/05/19 10:59:10 rillig Exp $ +# $NetBSD: Makefile,v 1.4 2005/08/01 00:40:30 rillig Exp $ # DISTNAME= regress-make-1.0 @@ -6,10 +6,10 @@ CATEGORIES= regress DISTFILES= # empty MAINTAINER= rillig@NetBSD.org -COMMENT= Test Makefile quoting +COMMENT= Test Makefile quoting and make(1) bugs REGRESS_TESTS= continue dblquote for ltarget nestfor quoting sglquote \ - vtarget bug1 + vtarget bug1 bug2 do-regress: .for t in ${REGRESS_TESTS} diff --git a/regress/make-quoting/files/bug2.mk b/regress/make-quoting/files/bug2.mk new file mode 100644 index 00000000000..851af9c5a3f --- /dev/null +++ b/regress/make-quoting/files/bug2.mk @@ -0,0 +1,22 @@ +# $NetBSD: bug2.mk,v 1.1 2005/08/01 00:40:30 rillig Exp $ +# +# This file demonstrates a subtle inconsistency that only occurs when an +# undefined variable is used in another, which is then quoted and copied +# by using the := assignment operator. + +.undef UNDEFINED + +# this variable references the undefined variable +UNDEF_REF= ${UNDEFINED} + +# here the reference is quoted +VARS+= ${UNDEF_REF:Q} + +# and the current value is assigned to another variable +VARS_VALUE:= ${VARS} + +all: + @echo UNDEFINED=${UNDEFINED:Q}"" + @echo UNDEF_REF=${UNDEF_REF:Q}"" + @echo VARS=${VARS:Q}"" + @echo VARS_VALUE=${VARS_VALUE:Q}"" diff --git a/regress/make-quoting/files/bug2.out b/regress/make-quoting/files/bug2.out new file mode 100644 index 00000000000..2ca7f0a8115 --- /dev/null +++ b/regress/make-quoting/files/bug2.out @@ -0,0 +1,4 @@ +UNDEFINED= +UNDEF_REF= +VARS= +VARS_VALUE=\{UNDEFINED\} |