sim/moxie: add custom directory stamp rule
authorTsukasa OI <research_trasio@irq.a4lg.com>
Sun, 9 Oct 2022 03:57:12 +0000 (03:57 +0000)
committerAndrew Burgess <aburgess@redhat.com>
Tue, 11 Oct 2022 10:22:14 +0000 (11:22 +0100)
Because sim/moxie/moxie-gdb.dtb is neither a program nor a library, automake
does not generate dirstamp file ($builddir/sim/moxie/.dirstamp) for it.

When maintainer mode is enabled, it tries to rebuild sim/moxie/moxie-gdb.dtb
but fails because there's no rules for automake-generated dirstamp file
which moxie-gdb.dtb depends.

This commit adds its own rule for the directory stamp (modified copy of the
automake output) and adds the directory stamp file to DISTCLEANFILES to
mimic automake-generated behavior (although "make distclean" does not work
when maintainer mode is enabled).

sim/Makefile.in
sim/moxie/local.mk

index 3278febc5e8de7643fb73f7e8dae18dc4798d28c..7845a333fca6cabd684c0dc79fe56a5ac6d0accf 100644 (file)
@@ -154,13 +154,14 @@ TESTS = testsuite/common/bits32m0$(EXEEXT) \
 @SIM_ENABLE_ARCH_m68hc11_TRUE@am__append_29 = $(m68hc11_BUILD_OUTPUTS)
 @SIM_ENABLE_ARCH_mn10300_TRUE@am__append_30 = $(mn10300_BUILD_OUTPUTS)
 @SIM_ENABLE_ARCH_mn10300_TRUE@am__append_31 = $(mn10300_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_or1k_TRUE@am__append_32 = $(or1k_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_moxie_TRUE@am__append_32 = moxie/$(am__dirstamp)
 @SIM_ENABLE_ARCH_or1k_TRUE@am__append_33 = $(or1k_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_sh_TRUE@am__append_34 = $(sh_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_sh_TRUE@am__append_35 = sh/gencode
-@SIM_ENABLE_ARCH_sh_TRUE@am__append_36 = $(sh_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_v850_TRUE@am__append_37 = $(v850_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_or1k_TRUE@am__append_34 = $(or1k_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_sh_TRUE@am__append_35 = $(sh_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_sh_TRUE@am__append_36 = sh/gencode
+@SIM_ENABLE_ARCH_sh_TRUE@am__append_37 = $(sh_BUILD_OUTPUTS)
 @SIM_ENABLE_ARCH_v850_TRUE@am__append_38 = $(v850_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_v850_TRUE@am__append_39 = $(v850_BUILD_OUTPUTS)
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
@@ -935,13 +936,13 @@ 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 = 
+DISTCLEANFILES = $(am__append_32)
 MOSTLYCLEANFILES = core $(am__append_5) site-sim-config.exp \
        testrun.log testrun.sum $(am__append_7) $(am__append_10) \
        $(am__append_12) $(am__append_15) $(am__append_17) \
        $(am__append_19) $(am__append_21) $(am__append_24) \
        $(am__append_26) $(am__append_29) $(am__append_31) \
-       $(am__append_33) $(am__append_36) $(am__append_38)
+       $(am__append_34) $(am__append_37) $(am__append_39)
 AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS)
 AM_CPPFLAGS = -I$(srcroot)/include $(SIM_INLINE) -I$(srcdir)/common
 COMPILE_FOR_BUILD = $(CC_FOR_BUILD) $(AM_CPPFLAGS) $(CFLAGS_FOR_BUILD)
@@ -950,8 +951,8 @@ SIM_ALL_RECURSIVE_DEPS = common/libcommon.a $(am__append_2) \
        $(am__append_6) $(am__append_8) $(am__append_11) \
        $(am__append_13) $(am__append_16) $(am__append_18) \
        $(am__append_20) $(am__append_22) $(am__append_25) \
-       $(am__append_27) $(am__append_30) $(am__append_32) \
-       $(am__append_34) $(am__append_37)
+       $(am__append_27) $(am__append_30) $(am__append_33) \
+       $(am__append_35) $(am__append_38)
 common_libcommon_a_CPPFLAGS = \
        $(AM_CPPFLAGS) \
        -DSIM_COMMON_BUILD \
@@ -2761,6 +2762,12 @@ testsuite/common/bits64m63.c: testsuite/common/bits-gen$(EXEEXT) testsuite/commo
 @SIM_ENABLE_ARCH_moxie_TRUE@     echo "update the device tree blob."; \
 @SIM_ENABLE_ARCH_moxie_TRUE@   fi
 
+# Rule to create the .dirstamp file (on which moxie-gdb.dtb depends)
+# as automake fails to automatically create this rule for _DATA items.
+@SIM_ENABLE_ARCH_moxie_TRUE@moxie/$(am__dirstamp):
+@SIM_ENABLE_ARCH_moxie_TRUE@   @$(MKDIR_P) moxie
+@SIM_ENABLE_ARCH_moxie_TRUE@   @: >moxie/$(am__dirstamp)
+
 @SIM_ENABLE_ARCH_or1k_TRUE@or1k/mloop.c or1k/eng.h: or1k/stamp-mloop ; @true
 @SIM_ENABLE_ARCH_or1k_TRUE@or1k/stamp-mloop: $(srccom)/genmloop.sh or1k/mloop.in
 @SIM_ENABLE_ARCH_or1k_TRUE@    $(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \
index cd57f56ee9aac24a085387a41f61bc41c0e50776..600d2640becaf6fab89ce5aafda48e8caf4add3b 100644 (file)
@@ -30,3 +30,10 @@ dtb_DATA = %D%/moxie-gdb.dtb
          echo "tree compiler tool (dtc) is missing.  Install the tool to "; \
          echo "update the device tree blob."; \
        fi
+
+# Rule to create the .dirstamp file (on which moxie-gdb.dtb depends)
+# as automake fails to automatically create this rule for _DATA items.
+%D%/$(am__dirstamp):
+       @$(MKDIR_P) %D%
+       @: >%D%/$(am__dirstamp)
+DISTCLEANFILES += %D%/$(am__dirstamp)