sim: ppc: hoist pk.h creation to top-level
authorMike Frysinger <vapier@gentoo.org>
Tue, 2 Jan 2024 07:18:53 +0000 (02:18 -0500)
committerMike Frysinger <vapier@gentoo.org>
Tue, 2 Jan 2024 07:22:07 +0000 (02:22 -0500)
sim/Makefile.in
sim/ppc/Makefile.in
sim/ppc/local.mk
sim/ppc/pk.h

index a60c640..98cf2df 100644 (file)
@@ -281,7 +281,7 @@ TESTS = testsuite/common/bits32m0$(EXEEXT) \
 @SIM_ENABLE_ARCH_or1k_TRUE@am__append_88 = $(or1k_BUILD_OUTPUTS)
 @SIM_ENABLE_ARCH_ppc_TRUE@am__append_89 = common/libcommon.a \
 @SIM_ENABLE_ARCH_ppc_TRUE@     ppc/defines.h ppc/stamp-igen \
-@SIM_ENABLE_ARCH_ppc_TRUE@     ppc/stamp-hw
+@SIM_ENABLE_ARCH_ppc_TRUE@     ppc/stamp-hw ppc/stamp-pk
 @SIM_ENABLE_ARCH_ppc_TRUE@am__append_90 = ppc/run
 @SIM_ENABLE_ARCH_ppc_TRUE@am__append_91 = ppc/defines.h \
 @SIM_ENABLE_ARCH_ppc_TRUE@     ppc/stamp-defines \
@@ -2987,7 +2987,7 @@ testsuite_common_CPPFLAGS = \
 @SIM_ENABLE_ARCH_ppc_TRUE@ppc_BUILD_OUTPUTS =  \
 @SIM_ENABLE_ARCH_ppc_TRUE@     $(ppc_BUILT_SRC_FROM_IGEN) \
 @SIM_ENABLE_ARCH_ppc_TRUE@     ppc/stamp-igen ppc/hw.c ppc/hw.h \
-@SIM_ENABLE_ARCH_ppc_TRUE@     ppc/stamp-hw
+@SIM_ENABLE_ARCH_ppc_TRUE@     ppc/stamp-hw ppc/stamp-pk
 @SIM_ENABLE_ARCH_ppc_TRUE@ppc_IGEN_OPCODE_RULES = ppc/@sim_ppc_opcode@
 @SIM_ENABLE_ARCH_ppc_TRUE@ppc_filter_SOURCES = 
 @SIM_ENABLE_ARCH_ppc_TRUE@ppc_filter_LDADD = ppc/filter-main.o ppc/libigen.a
@@ -3006,6 +3006,7 @@ testsuite_common_CPPFLAGS = \
 
 @SIM_ENABLE_ARCH_ppc_TRUE@IGEN_OPCODE_RULES = @sim_ppc_opcode@
 @SIM_ENABLE_ARCH_ppc_TRUE@ppc_HW_SRC = $(sim_ppc_hw_src:%=ppc/%)
+@SIM_ENABLE_ARCH_ppc_TRUE@ppc_PACKAGE_SRC = ppc/pk_disklabel.c
 @SIM_ENABLE_ARCH_ppc_TRUE@ppcdocdir = $(docdir)/ppc
 @SIM_ENABLE_ARCH_ppc_TRUE@ppcdoc_DATA = ppc/BUGS ppc/INSTALL ppc/README ppc/RUN
 @SIM_ENABLE_ARCH_pru_TRUE@nodist_pru_libsim_a_SOURCES = \
@@ -5885,6 +5886,23 @@ testsuite/common/bits64m63.c: testsuite/common/bits-gen$(EXEEXT) testsuite/commo
 @SIM_ENABLE_ARCH_ppc_TRUE@     $(AM_V_at)$(SHELL) $(srcroot)/move-if-change ppc/hw.cin ppc/hw.c
 @SIM_ENABLE_ARCH_ppc_TRUE@     $(AM_V_at)touch $@
 @SIM_ENABLE_ARCH_ppc_TRUE@ppc/hw.c ppc/hw.h: ppc/stamp-igen
+@SIM_ENABLE_ARCH_ppc_TRUE@$(srcdir)/ppc/pk.h: @MAINT@ ppc/stamp-pk ; @true
+@SIM_ENABLE_ARCH_ppc_TRUE@ppc/stamp-pk: $(srcdir)/ppc/Makefile.in $(ppc_PACKAGE_SRC) $(srcroot)/move-if-change
+@SIM_ENABLE_ARCH_ppc_TRUE@     $(AM_V_GEN)echo "/* Generated file by local.mk; do not edit.  */" > ppc/pk.hin; \
+@SIM_ENABLE_ARCH_ppc_TRUE@     f=""; \
+@SIM_ENABLE_ARCH_ppc_TRUE@     for i in $(ppc_PACKAGE_SRC) ; do \
+@SIM_ENABLE_ARCH_ppc_TRUE@       case " $$f " in \
+@SIM_ENABLE_ARCH_ppc_TRUE@         *" $$i "*) ;; \
+@SIM_ENABLE_ARCH_ppc_TRUE@         *) f="$$f $$i" ;; \
+@SIM_ENABLE_ARCH_ppc_TRUE@       esac ; \
+@SIM_ENABLE_ARCH_ppc_TRUE@     done ; \
+@SIM_ENABLE_ARCH_ppc_TRUE@     for pk in $$f ; do echo $$pk ; done \
+@SIM_ENABLE_ARCH_ppc_TRUE@     | sed -e 's/^.*pk_\(.*\)\.c/\1/' \
+@SIM_ENABLE_ARCH_ppc_TRUE@             -e 's/^/extern package_create_instance_callback pk_/' \
+@SIM_ENABLE_ARCH_ppc_TRUE@             -e 's/$$/_create_instance;/' \
+@SIM_ENABLE_ARCH_ppc_TRUE@             >> ppc/pk.hin
+@SIM_ENABLE_ARCH_ppc_TRUE@     $(AM_V_at)$(SHELL) $(srcroot)/move-if-change ppc/pk.hin $(srcdir)/ppc/pk.h
+@SIM_ENABLE_ARCH_ppc_TRUE@     $(AM_V_at)touch $@
 @SIM_ENABLE_ARCH_pru_TRUE@$(pru_libsim_a_OBJECTS) $(pru_libsim_a_LIBADD): pru/hw-config.h
 
 @SIM_ENABLE_ARCH_pru_TRUE@pru/modules.o: pru/modules.c
index ed3185f..68be555 100644 (file)
@@ -361,12 +361,6 @@ INLINE = \
        inline.h \
        inline.c
 
-BUILT_SRC_WO_CONFIG = \
-       pk.h
-
-BUILT_SRC = \
-       $(BUILT_SRC_WO_CONFIG)
-
 LIB_INLINE_SRC = \
        psim.c \
        bits.c \
@@ -483,7 +477,7 @@ interrupts.o: interrupts.c $(CPU_H) $(IDECODE_H) $(OS_EMUL_H)
 
 # Given that inlines are turned on now, rebuild idecode whenever
 # anything changes.
-idecode.o: idecode.c $(CPU_H) $(IDECODE_H) $(SEMANTICS_H) $(LIB_INLINE_SRC) $(BUILT_SRC)
+idecode.o: idecode.c $(CPU_H) $(IDECODE_H) $(SEMANTICS_H) $(LIB_INLINE_SRC)
 
 # double.o: double.c dp-bit.c
 
@@ -525,7 +519,7 @@ sim-fpu.o: $(srcdir)/../common/sim-fpu.c
        $(ECHO_CC) $(CC) -c $(STD_CFLAGS) -DHAVE_CONFIG_H $(srcdir)/../common/sim-fpu.c 
 
 # Rebuild options whenever something changes so the date/time is up to date.
-options.o: options.c $(CPU_H) $(OPTIONS_H) $(DEFINES_H) $(BASICS_H) $(IDECODE_H) $(INLINE) $(LIB_SRC) $(BUILT_SRC) ../config.status Makefile
+options.o: options.c $(CPU_H) $(OPTIONS_H) $(DEFINES_H) $(BASICS_H) $(IDECODE_H) $(INLINE) $(LIB_SRC) ../config.status Makefile
        $(ECHO_CC) $(CC) -c $(STD_CFLAGS) '-DOPCODE_RULES="@sim_ppc_opcode@"' '-DIGEN_FLAGS="$(ppc_IGEN_FLAGS)"' $(srcdir)/options.c
 
 hw_cpu.o: hw_cpu.c $(DEVICE_TABLE_H) $(HW_CPU_H) $(INTERRUPTS_H) $(CPU_H)
@@ -552,27 +546,6 @@ hw_vm.o: hw_vm.c $(DEVICE_TABLE_H) $(CPU_H)
 
 
 
-# real packages
-$(srcdir)/pk.h: $(MAINT) tmp-pk
-       @true
-tmp-pk: $(srcdir)/Makefile.in $(PACKAGE_SRC) $(srcroot)/move-if-change
-       $(ECHO_GEN)# The first for loop is to remove duplicates.
-       $(SILENCE) echo "/* Generated file by Makefile.in; do not edit.  */" > tmp-pk.h; \
-       f=""; \
-       for i in $(PACKAGE_SRC) ; do \
-         case " $$f " in \
-           *" $$i "*) ;; \
-           *) f="$$f $$i" ;; \
-         esac ; \
-       done ; \
-       for pk in $$f ; do echo $$pk ; done \
-       | sed -e 's/^.*pk_\(.*\)\.c/\1/' \
-               -e 's/^/extern package_create_instance_callback pk_/' \
-               -e 's/$$/_create_instance;/' \
-               >> tmp-pk.h
-       $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-pk.h $(srcdir)/pk.h
-       $(SILENCE) touch $@
-
 pk_disklabel.o: pk_disklabel.c $(DEVICE_TABLE_H) $(PK_H)
 # ignore this line, it stops make from getting confused
 
@@ -580,11 +553,11 @@ pk_disklabel.o: pk_disklabel.c $(DEVICE_TABLE_H) $(PK_H)
 
 tags etags: TAGS
 
-TAGS: $(BUILT_SRC)
-       etags $(srcdir)/*.h $(srcdir)/*.c $(BUILT_SRC)
+TAGS:
+       etags $(srcdir)/*.h $(srcdir)/*.c
 
 clean mostlyclean:
-       rm -f tmp-* *.[oasi] core $(BUILT_SRC_WO_CONFIG)
+       rm -f tmp-* *.[oasi] core
 
 distclean realclean: clean
        rm -f TAGS Makefile
index 7d4ea35..155d83a 100644 (file)
@@ -220,5 +220,29 @@ BUILT_SOURCES += \
 SIM_ALL_RECURSIVE_DEPS += %D%/stamp-hw
 %D%/hw.c %D%/hw.h: %D%/stamp-igen
 
+## Real packages
+## NB: The first for loop is to remove duplicates.
+%C%_PACKAGE_SRC = %D%/pk_disklabel.c
+$(srcdir)/%D%/pk.h: @MAINT@ %D%/stamp-pk ; @true
+%D%/stamp-pk: $(srcdir)/%D%/Makefile.in $(%C%_PACKAGE_SRC) $(srcroot)/move-if-change
+       $(AM_V_GEN)echo "/* Generated file by local.mk; do not edit.  */" > %D%/pk.hin; \
+       f=""; \
+       for i in $(%C%_PACKAGE_SRC) ; do \
+         case " $$f " in \
+           *" $$i "*) ;; \
+           *) f="$$f $$i" ;; \
+         esac ; \
+       done ; \
+       for pk in $$f ; do echo $$pk ; done \
+       | sed -e 's/^.*pk_\(.*\)\.c/\1/' \
+               -e 's/^/extern package_create_instance_callback pk_/' \
+               -e 's/$$/_create_instance;/' \
+               >> %D%/pk.hin
+       $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/pk.hin $(srcdir)/%D%/pk.h
+       $(AM_V_at)touch $@
+
+%C%_BUILD_OUTPUTS += %D%/stamp-pk
+SIM_ALL_RECURSIVE_DEPS += %D%/stamp-pk
+
 %C%docdir = $(docdir)/%C%
 %C%doc_DATA = %D%/BUGS %D%/INSTALL %D%/README %D%/RUN
index 92e49e9..2a67204 100644 (file)
@@ -1,2 +1,2 @@
-/* Generated file by Makefile.in; do not edit.  */
+/* Generated file by local.mk; do not edit.  */
 extern package_create_instance_callback pk_disklabel_create_instance;