summaryrefslogtreecommitdiff
path: root/regress/make-quoting/files
diff options
context:
space:
mode:
Diffstat (limited to 'regress/make-quoting/files')
-rw-r--r--regress/make-quoting/files/bug2.mk22
-rw-r--r--regress/make-quoting/files/bug2.out4
2 files changed, 26 insertions, 0 deletions
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\}