Module Name:    src
Committed By:   rillig
Date:           Sun Jun 12 14:27:06 UTC 2022

Modified Files:
        src/usr.bin/make/unit-tests: opt-define.mk

Log Message:
tests/make: demonstrate what happens for 'make -DVAR=value'


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/opt-define.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/opt-define.mk
diff -u src/usr.bin/make/unit-tests/opt-define.mk:1.3 src/usr.bin/make/unit-tests/opt-define.mk:1.4
--- src/usr.bin/make/unit-tests/opt-define.mk:1.3	Sun Jan 23 16:09:38 2022
+++ src/usr.bin/make/unit-tests/opt-define.mk	Sun Jun 12 14:27:06 2022
@@ -1,4 +1,4 @@
-# $NetBSD: opt-define.mk,v 1.3 2022/01/23 16:09:38 rillig Exp $
+# $NetBSD: opt-define.mk,v 1.4 2022/06/12 14:27:06 rillig Exp $
 #
 # Tests for the -D command line option, which defines global variables to the
 # value 1, like in the C preprocessor.
@@ -19,10 +19,22 @@ VAR=		overwritten
 .endif
 
 # The variable can be undefined.  If the variable had been defined in the
-# "Internal" scope instead, undefining it would have no effect.
+# "Internal" or in the "Command" scope instead, undefining it would have no
+# effect.
 .undef VAR
 .if defined(VAR)
 .  error
 .endif
 
+# The C preprocessor allows to define a macro with a specific value.  Make
+# behaves differently, it defines a variable with the name 'VAR=value' and the
+# value 1.
+.MAKEFLAGS: -DVAR=value
+.if defined(VAR)
+.  error
+.endif
+.if ${VAR=value} != "1"
+.  error
+.endif
+
 all: .PHONY

Reply via email to