[COMMITTED] Polish the treatment of dl-tunable-list.h in Makeconfig.

Message ID 20170609134143.15249-1-zackw@panix.com
State Committed
Headers

Commit Message

Zack Weinberg June 9, 2017, 1:41 p.m. UTC
  Like basically all before-compile headers, dl-tunable-list.h should be
generated using a stamp file to minimize unnecessary rebuilding; it
wasn't being added to common-generated, so it wouldn't get cleaned up;
and it was in between the rules for libc-modules.h/.stmp and their own
addition to common-generated.

	* Makeconfig (dl-tunable-list.h): Generate using a stamp file.
	(common-generated): Add libc-modules.h and libc-modules.stmp in a
	more appropriate location. Also add dl-tunable-list.h and
	dl-tunable-list.stmp.
---
 Makeconfig | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)
  

Patch

diff --git a/Makeconfig b/Makeconfig
index e4eda4bcdf..80aed2a987 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -1107,6 +1107,7 @@  postclean-generated += soversions.mk soversions.i \
 		       shlib-versions.v shlib-versions.v.i
 
 before-compile += $(common-objpfx)libc-modules.h
+common-generated += libc-modules.h libc-modules.stmp
 ifeq ($(soversions.mk-done),t)
 # Generate a header with macro definitions for use with the IS_IN macro.
 # These are the possible values for the MODULE_NAME macro defined when building
@@ -1125,17 +1126,19 @@  endif
 # glibc.
 ifneq (no,$(have-tunables))
 before-compile += $(common-objpfx)dl-tunable-list.h
+common-generated += dl-tunable-list.h dl-tunable-list.stmp
 
-$(common-objpfx)dl-tunable-list.h: $(..)scripts/gen-tunables.awk \
-				   $(..)elf/dl-tunables.list \
-				   $(wildcard $(subdirs:%=$(..)%/dl-tunables.list)) \
-				   $(wildcard $(sysdirs:%=%/dl-tunables.list))
-	$(AWK) -f $^ > $@.tmp
-	mv $@.tmp $@
+$(common-objpfx)dl-tunable-list.h: $(common-objpfx)dl-tunable-list.stmp; @:
+$(common-objpfx)dl-tunable-list.stmp: \
+		$(..)scripts/gen-tunables.awk \
+		$(..)elf/dl-tunables.list \
+		$(wildcard $(subdirs:%=$(..)%/dl-tunables.list)) \
+		$(wildcard $(sysdirs:%=%/dl-tunables.list))
+	$(AWK) -f $^ > ${@:stmp=T}
+	$(move-if-change) ${@:stmp=T} ${@:stmp=h}
+	touch $@
 endif
 
-common-generated += libc-modules.h libc-modules.stmp
-
 # The name under which the run-time dynamic linker is installed.
 # We are currently going for the convention that `/lib/ld.so.1'
 # names the SVR4/ELF ABI-compliant dynamic linker.