From 1998086d5436499e8eaf16772e300459662c3d7c Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 2 Jul 2018 07:03:13 -0600 Subject: [PATCH] Use a stamp file for init.c This introduces a stamp file for init.c. This prevents constant rebuilds of init.o, by arranging for init.c to only be modified when its contents change. (FWIW this is a standard idiom in use by Automake and by gdb itself for many years.) gdb/ChangeLog 2018-07-09 Tom Tromey * Makefile.in (init.c): Depend on stamp-init. (stamp-init): New rule, from init.c rule. (clean mostlyclean): Remove stamp-init. --- gdb/ChangeLog | 6 ++++++ gdb/Makefile.in | 9 +++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 93f972b36aa..7e39800cfd4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2018-07-09 Tom Tromey + + * Makefile.in (init.c): Depend on stamp-init. + (stamp-init): New rule, from init.c rule. + (clean mostlyclean): Remove stamp-init. + 2018-07-09 Tom Tromey * Makefile.in (INIT_FILES): Remove CONFIG_SRCS, diff --git a/gdb/Makefile.in b/gdb/Makefile.in index b35ca2e7aef..d14e86727b8 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -1849,7 +1849,8 @@ test-cp-name-parser$(EXEEXT): test-cp-name-parser.o $(LIBIBERTY) # in sub-directories such as cli/ and mi/. INIT_FILES = $(COMMON_OBS) -init.c: $(INIT_FILES) +init.c: stamp-init; @true +stamp-init: $(INIT_FILES) @$(ECHO_INIT_C) echo "Making init.c" @rm -f init.c-tmp init.l-tmp @touch init.c-tmp @@ -1879,8 +1880,8 @@ init.c: $(INIT_FILES) @echo '{' >>init.c-tmp @sed -e 's/\(.*\)/ _initialize_\1 ();/' >init.c-tmp @echo '}' >>init.c-tmp - @rm init.l-tmp - @mv init.c-tmp init.c + @$(SHELL) $(srcdir)/../move-if-change init.c-tmp init.c + @echo stamp > stamp-init .PRECIOUS: init.c @@ -1947,7 +1948,7 @@ tags: TAGS clean mostlyclean: $(CONFIG_CLEAN) @$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(CLEANDIRS)" subdir_do rm -f *.o *.a $(ADD_FILES) *~ init.c-tmp init.l-tmp version.c-tmp - rm -f init.c version.c + rm -f init.c stamp-init version.c rm -f gdb$(EXEEXT) core make.log rm -f gdb[0-9]$(EXEEXT) rm -f test-cp-name-parser$(EXEEXT) -- 2.30.2