Introduce stamp file for hw-config.h
authorTom Tromey <tom@tromey.com>
Fri, 23 Apr 2021 01:51:54 +0000 (19:51 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 23 Apr 2021 01:51:54 +0000 (19:51 -0600)
This adds a stamp file for hw-config.h, to avoid unnecessary rebuilds.
It also arranges to remove hw-config.h in "mostlyclean", because the
file is created by "make".

sim/common/ChangeLog
2021-04-22  Tom Tromey  <tom@tromey.com>

* Make-common.in (stamp-hw): New target.
(hw-config.h): Depend on stamp-hw.
(mostlyclean): Remove stamp-hw and hw-config.h.

sim/common/ChangeLog
sim/common/Make-common.in

index 42b02666d76656c0477fdb12fb76a9f82b1d3c97..f4225f92d677066e63950dc37273a13b75001581 100644 (file)
@@ -1,3 +1,9 @@
+2021-04-22  Tom Tromey  <tom@tromey.com>
+
+       * Make-common.in (stamp-hw): New target.
+       (hw-config.h): Depend on stamp-hw.
+       (mostlyclean): Remove stamp-hw and hw-config.h.
+
 2021-04-22  Tom Tromey  <tom@tromey.com>
 
        * Make-common.in (mostlyclean): Now an alias for clean, not
index 3d3aaf1644eab7f952cd35f3d4b361e933b80204..ed3b171a6bfc568d687d088b6ce777bc3442abb8 100644 (file)
@@ -437,7 +437,8 @@ $(all_object_files) : $(generated_files)
 @GMAKE_TRUE@-include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
 
 # FIXME This is one very simple-minded way of generating the file hw-config.h
-hw-config.h: Makefile.in $(srccom)/Make-common.in config.status Makefile
+hw-config.h: stamp-hw ; @true
+stamp-hw: Makefile.in $(srccom)/Make-common.in config.status Makefile
        rm -f tmp-hw.h
        echo "/* generated by Makefile */" > tmp-hw.h
        sim_hw="$(SIM_HW)"; \
@@ -451,7 +452,8 @@ hw-config.h: Makefile.in $(srccom)/Make-common.in config.status Makefile
        done >> tmp-hw.h
        echo "  NULL," >> tmp-hw.h
        echo "};" >> tmp-hw.h
-       mv tmp-hw.h hw-config.h
+       $(SHELL) $(srcroot)/move-if-change tmp-hw.h hw-config.h
+       @echo stamp > stamp-hw
 
 test-hw-events: $(srccom)/hw-events.c libsim.a
        $(CC) $(ALL_CFLAGS) -DMAIN -o test-hw-events$(EXEEXT) \
@@ -506,6 +508,7 @@ TAGS: force
 mostlyclean clean: $(SIM_EXTRA_CLEAN)
        rm -f *.[oa] *~ core
        rm -f run$(EXEEXT) libsim.a
+       rm -f hw-config.h stamp-hw
        rm -f gentmap targ-map.c targ-vals.h stamp-tvals
        if [ ! -f Make-common.in ] ; then \
                rm -f $(BUILT_SRC_FROM_COMMON) ; \