about summary refs log tree commit diff
path: root/Makeconfig
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-09 09:32:43 -0400
committerZack Weinberg <zackw@panix.com>2017-06-09 09:35:31 -0400
commit65b6d8b79c20bbf83209c6a23645cf5422170e5d (patch)
tree41b7a200646c0d93b1a91d19441b11bd7a6edf03 /Makeconfig
parent6b6710e55b1040ec0eed6ce2eba38c630429b5b4 (diff)
downloadglibc-65b6d8b79c20bbf83209c6a23645cf5422170e5d.tar.gz
glibc-65b6d8b79c20bbf83209c6a23645cf5422170e5d.tar.xz
glibc-65b6d8b79c20bbf83209c6a23645cf5422170e5d.zip
Polish the treatment of dl-tunable-list.h in Makeconfig.
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.
Diffstat (limited to 'Makeconfig')
-rw-r--r--Makeconfig21
1 files changed, 12 insertions, 9 deletions
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-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-generated += dl-tunable-list.h dl-tunable-list.stmp
+
+$(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.