Module Name:    src
Committed By:   apb
Date:           Sun Nov  4 11:02:12 UTC 2012

Modified Files:
        src: Makefile

Log Message:
Create a "params" file in the top-level .OBJDIR during "make build".
This file will contain the values of all variables that can affect
the build process.  Take care not to update the file's timestamp if
the contents do not change.

${_SRC_TOP_OBJ}/params is referenced by ${_NETBSD_VERSION_DEPENDS} in
bsd.own.mk.

Rename the old "params" target to "show-params".  This simply
prints the values of the variables that can affect the build.


To generate a diff of this commit:
cvs rdiff -u -r1.299 -r1.300 src/Makefile

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

Modified files:

Index: src/Makefile
diff -u src/Makefile:1.299 src/Makefile:1.300
--- src/Makefile:1.299	Fri Aug 17 16:22:27 2012
+++ src/Makefile	Sun Nov  4 11:02:11 2012
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.299 2012/08/17 16:22:27 joerg Exp $
+#	$NetBSD: Makefile,v 1.300 2012/11/04 11:02:11 apb Exp $
 
 #
 # This is the top-level makefile for building NetBSD. For an outline of
@@ -87,6 +87,8 @@
 #   do-top-obj:      creates the top level object directory.
 #   do-tools-obj:    creates object directories for the host toolchain.
 #   do-tools:        builds host toolchain.
+#   params:          record the values of variables that might affect the
+#                    build.
 #   obj:             creates object directories.
 #   do-distrib-dirs: creates the distribution directories.
 #   includes:        installs include files.
@@ -222,6 +224,7 @@ BUILDTARGETS+=	do-tools-obj
 .endif
 BUILDTARGETS+=	do-tools
 .endif # USETOOLS		# }
+BUILDTARGETS+=	params
 .if ${MKOBJDIRS} != "no"
 BUILDTARGETS+=	obj
 .endif
@@ -252,6 +255,26 @@ includes-lib:	.PHONY includes-include in
 includes-gnu:	.PHONY includes-lib
 
 #
+# Record the values of variables that might affect the build.
+# If no values have changed, avoid updating the timestamp
+# of the params file.
+#
+# This is referenced by _NETBSD_VERSION_DEPENDS in <bsd.own.mk>.
+#
+
+CLEANDIRFILES+= params
+params: .EXEC
+	${_MKMSG_CREATE} params
+	@(${MAKEDIRTARGET:S/^@//} etc params) >${.TARGET}.new
+	@if cmp -s ${.TARGET}.new ${.TARGET} > /dev/null 2>&1; then \
+		: "params is unchanged" ; \
+		rm ${.TARGET}.new ; \
+	else \
+		: "params has changed or is new" ; \
+		mv ${.TARGET}.new ${.TARGET} ; \
+	fi
+
+#
 # Build the system and install into DESTDIR.
 #
 
@@ -508,5 +531,5 @@ dependall-distrib depend-distrib all-dis
 #
 # Display current make(1) parameters
 #
-params: .PHONY .MAKE
+show-params: .PHONY .MAKE
 	${MAKEDIRTARGET} etc params

Reply via email to