sim: switch modules.c & version.c to stamp files

This fixes remaking of these files and avoids unnecessary rebuilds.

Also add both to `make clean` to match other stamp files.
This commit is contained in:
Mike Frysinger 2021-06-14 20:38:52 -04:00
parent 6645c8ce71
commit 015f7b7462
5 changed files with 26 additions and 7 deletions

View File

@ -1,3 +1,7 @@
2021-06-15 Mike Frysinger <vapier@gentoo.org>
* Makefile.in: Regenerate.
2021-06-14 Mike Frysinger <vapier@gentoo.org>
* configure.ac: Call AM_SILENT_RULES.

View File

@ -730,7 +730,8 @@ AM_MAKEFLAGS = SIM_PRIMARY_TARGET=$(SIM_PRIMARY_TARGET)
# NB: libcommon.a isn't used directly by ports. We need a target for common
# objects to be a part of, and ports use the individual objects directly.
noinst_LIBRARIES = common/libcommon.a $(am__append_2)
CLEANFILES = testsuite/common/bits-gen testsuite/common/bits32m0.c \
CLEANFILES = common/version.c common/version.c-stamp \
testsuite/common/bits-gen testsuite/common/bits32m0.c \
testsuite/common/bits32m31.c testsuite/common/bits64m0.c \
testsuite/common/bits64m63.c
DISTCLEANFILES =
@ -1584,9 +1585,10 @@ nltvals:
$(abs_srcdir)/common/gennltvals.py --cpp "$(CPP)" --output nltvals.def --srcroot $(srcroot)
$(SHELL) $(srcroot)/move-if-change nltvals.def $(abs_srcdir)/common/nltvals.def
common/version.c: $(srcroot)/gdb/version.in $(srcroot)/bfd/version.h $(srcdir)/common/create-version.sh
common/version.c: common/version.c-stamp ; @true
common/version.c-stamp: $(srcroot)/gdb/version.in $(srcroot)/bfd/version.h $(srcdir)/common/create-version.sh
$(AM_V_GEN)$(SHELL) $(srcdir)/common/create-version.sh $(srcroot)/gdb $@.tmp
$(AM_V_at)$(SHELL) $(srcroot)/move-if-change $@.tmp $@
$(AM_V_at)$(SHELL) $(srcroot)/move-if-change $@.tmp $(@:-stamp=)
$(AM_V_at)touch $@
# Alias for developers.

View File

@ -1,3 +1,10 @@
2021-06-15 Mike Frysinger <vapier@gentoo.org>
* Make-common.in: Add stamp-modules rule to avoid rebuilds.
(clean): Delete modules.c files.
* local.mk: Add version.c-stamp rule to avoid rebuilds.
(CLEANFILES): Add version.c files.
2021-06-14 Mike Frysinger <vapier@gentoo.org>
* local.mk (%D%/version.c): Use AM_V_GEN & AM_V_at wrappers.

View File

@ -465,7 +465,8 @@ test-hw-events: $(srccom)/hw-events.c libsim.a
$(srccom)/hw-events.c libsim.a $(EXTRA_LIBS)
# See sim_pre_argv_init and sim_module_install in sim-module.c for more details.
modules.c: Makefile $(SIM_OBJS:.o=.c)
modules.c: stamp-modules ; @true
stamp-modules: Makefile $(SIM_OBJS:.o=.c)
@echo Generating $@
@LANG=C ; export LANG ; \
LC_ALL=C ; export LC_ALL ; \
@ -481,7 +482,7 @@ modules.c: Makefile $(SIM_OBJS:.o=.c)
echo '};'; \
echo 'const int sim_modules_detected_len = ARRAY_SIZE (sim_modules_detected);'; \
) >$@.tmp
$(SHELL) $(srcroot)/move-if-change $@.tmp $@
$(SHELL) $(srcroot)/move-if-change $@.tmp modules.c
@rm -f $@.l-tmp $@.tmp
touch $@
@ -543,6 +544,7 @@ mostlyclean clean: $(SIM_EXTRA_CLEAN)
rm -f *.[oa] *~ core
rm -f run$(EXEEXT) libsim.a
rm -f hw-config.h stamp-hw
rm -f modules.c stamp-modules
rm -f gentmap targ-map.c targ-vals.h stamp-tvals
if [ ! -f Make-common.in ] ; then \
rm -f $(BUILT_SRC_FROM_COMMON) ; \

View File

@ -38,7 +38,11 @@ noinst_LIBRARIES += %D%/libcommon.a
%D%/sim-load.c \
%D%/version.c
%D%/version.c: $(srcroot)/gdb/version.in $(srcroot)/bfd/version.h $(srcdir)/%D%/create-version.sh
%D%/version.c: %D%/version.c-stamp ; @true
%D%/version.c-stamp: $(srcroot)/gdb/version.in $(srcroot)/bfd/version.h $(srcdir)/%D%/create-version.sh
$(AM_V_GEN)$(SHELL) $(srcdir)/%D%/create-version.sh $(srcroot)/gdb $@.tmp
$(AM_V_at)$(SHELL) $(srcroot)/move-if-change $@.tmp $@
$(AM_V_at)$(SHELL) $(srcroot)/move-if-change $@.tmp $(@:-stamp=)
$(AM_V_at)touch $@
CLEANFILES += \
%D%/version.c %D%/version.c-stamp