Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src Create a "params" file in the top-level .OBJDIR during "make...



details:   https://anonhg.NetBSD.org/src/rev/7713d44ce6d7
branches:  trunk
changeset: 782477:7713d44ce6d7
user:      apb <apb%NetBSD.org@localhost>
date:      Sun Nov 04 11:02:11 2012 +0000

description:
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.

diffstat:

 Makefile |  27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 deletions(-)

diffs (60 lines):

diff -r 13c2f26142cf -r 7713d44ce6d7 Makefile
--- a/Makefile  Sun Nov 04 10:59:13 2012 +0000
+++ b/Makefile  Sun Nov 04 11:02:11 2012 +0000
@@ -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 @@
 .endif
 BUILDTARGETS+= do-tools
 .endif # USETOOLS              # }
+BUILDTARGETS+= params
 .if ${MKOBJDIRS} != "no"
 BUILDTARGETS+= obj
 .endif
@@ -252,6 +255,26 @@
 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 @@
 #
 # Display current make(1) parameters
 #
-params: .PHONY .MAKE
+show-params: .PHONY .MAKE
        ${MAKEDIRTARGET} etc params



Home | Main Index | Thread Index | Old Index