Module Name: src
Committed By: rillig
Date: Sun Jan 12 23:10:30 UTC 2025
Modified Files:
src/usr.bin/make/unit-tests: suff.exp suff.mk
Log Message:
tests/make: fix suffix rule test in ATF mode
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/make/unit-tests/suff.exp \
src/usr.bin/make/unit-tests/suff.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/suff.exp
diff -u src/usr.bin/make/unit-tests/suff.exp:1.1 src/usr.bin/make/unit-tests/suff.exp:1.2
--- src/usr.bin/make/unit-tests/suff.exp:1.1 Fri Jan 10 23:00:38 2025
+++ src/usr.bin/make/unit-tests/suff.exp Sun Jan 12 23:10:30 2025
@@ -6,10 +6,10 @@ inserting ".to" (2) at end of list
transformation .from.to complete
Var_Parse: ${.PREFIX}${.ARCHIVE}.additional (eval-defined)
Var_Parse: ${.ARCHIVE}.additional (eval-defined)
-Global: .ALLTARGETS = all edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional
-Global: .ALLTARGETS = all edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from
-Global: .ALLTARGETS = all edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from edge-case.additional
-Global: .ALLTARGETS = all edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from edge-case.additional a*.mk
+Global: .ALLTARGETS = step1 edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional
+Global: .ALLTARGETS = step1 edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from
+Global: .ALLTARGETS = step1 edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from edge-case.additional
+Global: .ALLTARGETS = step1 edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from edge-case.additional a*.mk
Global: delete .PARSEDIR
Global: delete .PARSEFILE
Global: ignoring delete '.INCLUDEDFROMDIR' as it is not found
@@ -33,17 +33,16 @@ Command: ignoring delete 'v' as it is no
Result of ${.MAKEOVERRIDES:@v@$v=${$v:Q}@} is ""
Global: .INCLUDES = # (empty)
Global: .LIBS = # (empty)
-Global: .TARGETS = all
Global: ignoring delete '.SHELL' as it is not found
Command: .SHELL = /bin/sh
-Global: .ALLTARGETS = all edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from edge-case.additional a*.mk .END
-all: @ = all
-all: @ = all
-all: * = all
-SuffFindDeps "all"
-all: @ = all
-all: * = all
- No valid suffix on all
+Global: .ALLTARGETS = step1 edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from edge-case.additional a*.mk .END
+step1: @ = step1
+step1: @ = step1
+step1: * = step1
+SuffFindDeps "step1"
+step1: @ = step1
+step1: * = step1
+ No valid suffix on step1
Wildcard expanding "edge-case.to"...suffix is ".to"...
edge-case.to: @ = edge-case.to
edge-case.to: @ = edge-case.to
@@ -63,8 +62,8 @@ SuffFindDeps "everything"
everything: @ = everything
everything: * = everything
Wildcard expanding "a*.mk"...
-archive-suffix.mk...Global: .ALLTARGETS = all edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from edge-case.additional a*.mk .END archive-suffix.mk
-archive.mk...Global: .ALLTARGETS = all edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from edge-case.additional a*.mk .END archive-suffix.mk archive.mk
+archive-suffix.mk...Global: .ALLTARGETS = step1 edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from edge-case.additional a*.mk .END archive-suffix.mk
+archive.mk...Global: .ALLTARGETS = step1 edge-case.to everything ${.PREFIX}${.ARCHIVE}.additional edge-case.from edge-case.additional a*.mk .END archive-suffix.mk archive.mk
No valid suffix on everything
Wildcard expanding "edge-case.additional"...
@@ -130,10 +129,10 @@ everything: ? = archive-suffix.mk archiv
Var_Parse: ${.TARGET} from ${.ALLSRC}. (eval)
Var_Parse: ${.ALLSRC}. (eval)
: Making everything from archive-suffix.mk archive.mk.
-all: > = edge-case.to
-all: ? = edge-case.to
-all: > = edge-case.to everything
-all: ? = edge-case.to everything
+step1: > = edge-case.to
+step1: ? = edge-case.to
+step1: > = edge-case.to everything
+step1: ? = edge-case.to everything
.END: @ = .END
.END: * = .END
SuffFindDeps ".END"
Index: src/usr.bin/make/unit-tests/suff.mk
diff -u src/usr.bin/make/unit-tests/suff.mk:1.1 src/usr.bin/make/unit-tests/suff.mk:1.2
--- src/usr.bin/make/unit-tests/suff.mk:1.1 Fri Jan 10 23:00:38 2025
+++ src/usr.bin/make/unit-tests/suff.mk Sun Jan 12 23:10:30 2025
@@ -1,8 +1,26 @@
-# $NetBSD: suff.mk,v 1.1 2025/01/10 23:00:38 rillig Exp $
+# $NetBSD: suff.mk,v 1.2 2025/01/12 23:10:30 rillig Exp $
#
# Demonstrate suffix rules and dependency resolution.
-all: .PHONY edge-case.to everything
+
+# Circumvent the file system cache.
+.if !make(init) && !make(step*)
+all:
+ @${MAKE} -f ${MAKEFILE} init
+ @${MAKE} -f ${MAKEFILE} step1
+.endif
+
+
+.if make(init)
+init:
+. if ${.PARSEDIR:tA} != ${.CURDIR:tA}
+${:U}!= cd ${MAKEFILE:H} && cp a*.mk ${.CURDIR}
+. endif
+.endif
+
+
+.if make(step1)
+step1: .PHONY edge-case.to everything
.MAKEFLAGS: -dsv
@@ -20,3 +38,4 @@ edge-case.from edge-case.additional:
everything: .PHONY a*.mk
: Making ${.TARGET} from ${.ALLSRC}.
+.endif