diff options
author | Mike Frysinger <vapier@gentoo.org> | 2024-01-02 02:00:09 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2024-01-02 02:19:50 -0500 |
commit | 431d8a2ca40e21b1f0ff61b6283e57fe32e12168 (patch) | |
tree | f5311e79adf8e23c5340be6375a0984881bdc7ea | |
parent | 5f7e03a6bb13bc14be42297d9fc798d01c0a47f0 (diff) | |
download | fsf-binutils-gdb-431d8a2ca40e21b1f0ff61b6283e57fe32e12168.zip fsf-binutils-gdb-431d8a2ca40e21b1f0ff61b6283e57fe32e12168.tar.gz fsf-binutils-gdb-431d8a2ca40e21b1f0ff61b6283e57fe32e12168.tar.bz2 |
sim: ppc: hoist igen execution to top-level
Invoke ppc's igen from the top-level like we do for all other ports.
-rw-r--r-- | sim/Makefile.in | 113 | ||||
-rw-r--r-- | sim/arch-subdir.mk.in | 2 | ||||
-rw-r--r-- | sim/ppc/Makefile.in | 63 | ||||
-rw-r--r-- | sim/ppc/local.mk | 63 |
4 files changed, 153 insertions, 88 deletions
diff --git a/sim/Makefile.in b/sim/Makefile.in index 6dc2ef2..be2b9b4 100644 --- a/sim/Makefile.in +++ b/sim/Makefile.in @@ -280,32 +280,41 @@ TESTS = testsuite/common/bits32m0$(EXEEXT) \ @SIM_ENABLE_ARCH_or1k_TRUE@am__append_87 = or1k/eng.h @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_IGEN) +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/defines.h ppc/stamp-igen @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 $(ppc_IGEN_TOOLS) \ -@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/libigen.a +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/stamp-defines \ +@SIM_ENABLE_ARCH_ppc_TRUE@ $(ppc_BUILD_OUTPUTS) \ +@SIM_ENABLE_ARCH_ppc_TRUE@ $(ppc_IGEN_TOOLS) ppc/libigen.a @SIM_ENABLE_ARCH_ppc_TRUE@am__append_92 = ppc/libigen.a -@SIM_ENABLE_ARCH_ppc_TRUE@am__append_93 = $(ppc_IGEN_TOOLS) -@SIM_ENABLE_ARCH_pru_TRUE@am__append_94 = pru/libsim.a -@SIM_ENABLE_ARCH_pru_TRUE@am__append_95 = pru/run -@SIM_ENABLE_ARCH_riscv_TRUE@am__append_96 = riscv/libsim.a -@SIM_ENABLE_ARCH_riscv_TRUE@am__append_97 = riscv/run -@SIM_ENABLE_ARCH_rl78_TRUE@am__append_98 = rl78/libsim.a -@SIM_ENABLE_ARCH_rl78_TRUE@am__append_99 = rl78/run -@SIM_ENABLE_ARCH_rx_TRUE@am__append_100 = rx/libsim.a -@SIM_ENABLE_ARCH_rx_TRUE@am__append_101 = rx/run -@SIM_ENABLE_ARCH_sh_TRUE@am__append_102 = sh/libsim.a -@SIM_ENABLE_ARCH_sh_TRUE@am__append_103 = sh/run -@SIM_ENABLE_ARCH_sh_TRUE@am__append_104 = \ +@SIM_ENABLE_ARCH_ppc_TRUE@am__append_93 = \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/icache.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/idecode.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/semantics.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/model.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/support.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/itable.h + +@SIM_ENABLE_ARCH_ppc_TRUE@am__append_94 = $(ppc_IGEN_TOOLS) +@SIM_ENABLE_ARCH_pru_TRUE@am__append_95 = pru/libsim.a +@SIM_ENABLE_ARCH_pru_TRUE@am__append_96 = pru/run +@SIM_ENABLE_ARCH_riscv_TRUE@am__append_97 = riscv/libsim.a +@SIM_ENABLE_ARCH_riscv_TRUE@am__append_98 = riscv/run +@SIM_ENABLE_ARCH_rl78_TRUE@am__append_99 = rl78/libsim.a +@SIM_ENABLE_ARCH_rl78_TRUE@am__append_100 = rl78/run +@SIM_ENABLE_ARCH_rx_TRUE@am__append_101 = rx/libsim.a +@SIM_ENABLE_ARCH_rx_TRUE@am__append_102 = rx/run +@SIM_ENABLE_ARCH_sh_TRUE@am__append_103 = sh/libsim.a +@SIM_ENABLE_ARCH_sh_TRUE@am__append_104 = sh/run +@SIM_ENABLE_ARCH_sh_TRUE@am__append_105 = \ @SIM_ENABLE_ARCH_sh_TRUE@ sh/code.c \ @SIM_ENABLE_ARCH_sh_TRUE@ sh/ppi.c -@SIM_ENABLE_ARCH_sh_TRUE@am__append_105 = sh/gencode -@SIM_ENABLE_ARCH_sh_TRUE@am__append_106 = $(sh_BUILD_OUTPUTS) -@SIM_ENABLE_ARCH_v850_TRUE@am__append_107 = v850/libsim.a -@SIM_ENABLE_ARCH_v850_TRUE@am__append_108 = v850/run -@SIM_ENABLE_ARCH_v850_TRUE@am__append_109 = \ +@SIM_ENABLE_ARCH_sh_TRUE@am__append_106 = sh/gencode +@SIM_ENABLE_ARCH_sh_TRUE@am__append_107 = $(sh_BUILD_OUTPUTS) +@SIM_ENABLE_ARCH_v850_TRUE@am__append_108 = v850/libsim.a +@SIM_ENABLE_ARCH_v850_TRUE@am__append_109 = v850/run +@SIM_ENABLE_ARCH_v850_TRUE@am__append_110 = \ @SIM_ENABLE_ARCH_v850_TRUE@ v850/icache.h \ @SIM_ENABLE_ARCH_v850_TRUE@ v850/idecode.h \ @SIM_ENABLE_ARCH_v850_TRUE@ v850/semantics.h \ @@ -314,7 +323,7 @@ TESTS = testsuite/common/bits32m0$(EXEEXT) \ @SIM_ENABLE_ARCH_v850_TRUE@ v850/itable.h \ @SIM_ENABLE_ARCH_v850_TRUE@ v850/engine.h -@SIM_ENABLE_ARCH_v850_TRUE@am__append_110 = $(v850_BUILD_OUTPUTS) +@SIM_ENABLE_ARCH_v850_TRUE@am__append_111 = $(v850_BUILD_OUTPUTS) subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ @@ -1850,13 +1859,14 @@ noinst_LIBRARIES = common/libcommon.a $(am__append_3) $(am__append_5) \ $(am__append_46) $(am__append_50) $(am__append_54) \ $(am__append_58) $(am__append_62) $(am__append_64) \ $(am__append_69) $(am__append_77) $(am__append_81) \ - $(am__append_83) $(am__append_85) $(am__append_94) \ - $(am__append_96) $(am__append_98) $(am__append_100) \ - $(am__append_102) $(am__append_107) + $(am__append_83) $(am__append_85) $(am__append_95) \ + $(am__append_97) $(am__append_99) $(am__append_101) \ + $(am__append_103) $(am__append_108) BUILT_SOURCES = $(am__append_15) $(am__append_21) $(am__append_25) \ $(am__append_36) $(am__append_44) $(am__append_48) \ $(am__append_56) $(am__append_71) $(am__append_79) \ - $(am__append_87) $(am__append_104) $(am__append_109) + $(am__append_87) $(am__append_93) $(am__append_105) \ + $(am__append_110) CLEANFILES = common/version.c common/version.c-stamp \ testsuite/common/bits-gen testsuite/common/bits32m0.c \ testsuite/common/bits32m31.c testsuite/common/bits64m0.c \ @@ -1872,7 +1882,7 @@ MOSTLYCLEANFILES = core $(SIM_ENABLED_ARCHES:%=%/*.o) \ $(am__append_37) $(am__append_45) $(am__append_49) \ $(am__append_53) $(am__append_57) $(am__append_61) \ $(am__append_75) $(am__append_80) $(am__append_88) \ - $(am__append_91) $(am__append_106) $(am__append_110) + $(am__append_91) $(am__append_107) $(am__append_111) CONFIG_STATUS_DEPENDENCIES = $(srcroot)/bfd/development.sh AM_CFLAGS = \ $(WERROR_CFLAGS) \ @@ -2950,7 +2960,39 @@ testsuite_common_CPPFLAGS = \ @SIM_ENABLE_ARCH_ppc_TRUE@ppc_igen_SOURCES = ppc/igen.c @SIM_ENABLE_ARCH_ppc_TRUE@ppc_igen_LDADD = ppc/libigen.a + +# igen leaks memory, and therefore makes AddressSanitizer unhappy. Disable +# leak detection while running it. @SIM_ENABLE_ARCH_ppc_TRUE@PPC_IGEN = ppc/igen$(EXEEXT) +@SIM_ENABLE_ARCH_ppc_TRUE@PPC_IGEN_RUN = ASAN_OPTIONS=detect_leaks=0 $(PPC_IGEN) $(ppc_IGEN_FLAGS) +@SIM_ENABLE_ARCH_ppc_TRUE@ppc_IGEN_FLAGS = \ +@SIM_ENABLE_ARCH_ppc_TRUE@ @sim_ppc_decode_mechanism@ \ +@SIM_ENABLE_ARCH_ppc_TRUE@ @sim_ppc_dup@ \ +@SIM_ENABLE_ARCH_ppc_TRUE@ @sim_ppc_jump@ \ +@SIM_ENABLE_ARCH_ppc_TRUE@ @sim_ppc_filter@ \ +@SIM_ENABLE_ARCH_ppc_TRUE@ @sim_ppc_icache@ \ +@SIM_ENABLE_ARCH_ppc_TRUE@ @sim_ppc_igen_smp@ \ +@SIM_ENABLE_ARCH_ppc_TRUE@ @sim_ppc_line_nr@ + +@SIM_ENABLE_ARCH_ppc_TRUE@ppc_BUILT_SRC_FROM_IGEN = \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/icache.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/icache.c \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/idecode.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/idecode.c \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/semantics.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/semantics.c \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/model.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/model.c \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/support.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/support.c \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/itable.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ ppc/itable.c + +@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 + +@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 @SIM_ENABLE_ARCH_ppc_TRUE@ppc_ld_cache_SOURCES = @@ -2966,6 +3008,7 @@ testsuite_common_CPPFLAGS = \ @SIM_ENABLE_ARCH_ppc_TRUE@ ppc/ld-decode \ @SIM_ENABLE_ARCH_ppc_TRUE@ ppc/ld-insn +@SIM_ENABLE_ARCH_ppc_TRUE@IGEN_OPCODE_RULES = @sim_ppc_opcode@ @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 = \ @@ -5782,6 +5825,24 @@ testsuite/common/bits64m63.c: testsuite/common/bits-gen$(EXEEXT) testsuite/commo @SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_GEN)$(srcdir)/ppc/spreg-gen.py --header $@.tmp @SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_at)$(SHELL) $(srcroot)/move-if-change $@.tmp $(srcdir)/ppc/spreg.h @SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_at)touch $(srcdir)/ppc/spreg.h +@SIM_ENABLE_ARCH_ppc_TRUE@$(ppc_BUILT_SRC_FROM_IGEN): ppc/stamp-igen +@SIM_ENABLE_ARCH_ppc_TRUE@ppc/stamp-igen: ppc/powerpc.igen ppc/altivec.igen ppc/e500.igen $(ppc_IGEN_OPCODE_RULES) $(PPC_IGEN) +@SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_GEN)$(PPC_IGEN_RUN) \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -o $(srcdir)/$(ppc_IGEN_OPCODE_RULES) \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -I $(srcdir)/ppc -i $(srcdir)/ppc/powerpc.igen \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n icache.h -hc ppc/icache.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n icache.c -c ppc/icache.c \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n semantics.h -hs ppc/semantics.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n semantics.c -s ppc/semantics.c \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n idecode.h -hd ppc/idecode.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n idecode.c -d ppc/idecode.c \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n itable.h -ht ppc/itable.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n itable.c -t ppc/itable.c \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n model.h -hm ppc/model.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n model.c -m ppc/model.c \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n support.h -hf ppc/support.h \ +@SIM_ENABLE_ARCH_ppc_TRUE@ -n support.c -f ppc/support.c +@SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_at)touch $@ @SIM_ENABLE_ARCH_ppc_TRUE@ppc/libigen.a: $(ppc_libigen_a_OBJECTS) $(ppc_libigen_a_DEPENDENCIES) $(EXTRA_ppc_libigen_a_DEPENDENCIES) ppc/$(am__dirstamp) @SIM_ENABLE_ARCH_ppc_TRUE@ $(AM_V_at)-rm -f $@ diff --git a/sim/arch-subdir.mk.in b/sim/arch-subdir.mk.in index afa1103..c3da955 100644 --- a/sim/arch-subdir.mk.in +++ b/sim/arch-subdir.mk.in @@ -64,3 +64,5 @@ MAINT = ; @true SIM_INLINE = @SIM_INLINE@ SIM_HW_CFLAGS = @SIM_HW_CFLAGS@ + +PPC_IGEN_FLAGS = $(ppc_IGEN_FLAGS) diff --git a/sim/ppc/Makefile.in b/sim/ppc/Makefile.in index 220e4b8..5717ddc 100644 --- a/sim/ppc/Makefile.in +++ b/sim/ppc/Makefile.in @@ -86,29 +86,6 @@ NOWARN_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(INCLUDES) $(SIM_FP LIBS = $(COMMON_LIBS) @LIBS@ $(LIBGNU) $(LIBGNU_EXTRA_LIBS) -IGEN_OPCODE_RULES = @sim_ppc_opcode@ -IGEN_DECODE_MECHANISM = @sim_ppc_decode_mechanism@ -IGEN_DUPLICATE = @sim_ppc_dup@ -IGEN_JUMP = @sim_ppc_jump@ -IGEN_FILTER = @sim_ppc_filter@ -IGEN_ICACHE = @sim_ppc_icache@ -IGEN_SMP = @sim_ppc_igen_smp@ -IGEN_LINE_NR = @sim_ppc_line_nr@ - -IGEN_FLAGS = \ - $(IGEN_DECODE_MECHANISM) \ - $(IGEN_DUPLICATE) \ - $(IGEN_JUMP) \ - $(IGEN_FILTER) \ - $(IGEN_ICACHE) \ - $(IGEN_SMP) \ - $(IGEN_LINE_NR) - -# igen leaks memory, and therefore makes AddressSanitizer unhappy. Disable -# leak detection while running it. - -IGEN = ASAN_OPTIONS=detect_leaks=0 ./igen - .NOEXPORT: MAKEOVERRIDES= @@ -268,9 +245,6 @@ IDECODE_EXPRESSION_H = \ IDECODE_FIELDS_H = \ idecode_fields.h -IGEN_H = \ - igen.h - INLINE_H = \ inline.h @@ -388,13 +362,6 @@ INLINE = \ inline.c BUILT_SRC_WO_CONFIG = \ - icache.h icache.c \ - support.h support.c \ - idecode.h idecode.c \ - semantics.h semantics.c \ - itable.h itable.c \ - model.h model.c \ - support.h support.c \ pk.h \ hw.h hw.c @@ -489,7 +456,7 @@ PACKAGE_SRC = pk_disklabel.c PACKAGE_OBJ = $(PACKAGE_SRC:.c=.o) -$(TARGETLIB): tmp-igen tmp-hw defines.h $(LIB_OBJ) $(GDB_OBJ) +$(TARGETLIB): tmp-hw defines.h $(LIB_OBJ) $(GDB_OBJ) $(ECHO_AR) $(AR) $(AR_FLAGS) $(TARGETLIB) $(LIB_OBJ) $(GDB_OBJ) $(ECHO_RANLIB) $(RANLIB) $(TARGETLIB) @@ -560,33 +527,7 @@ sim-fpu.o: $(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 - $(ECHO_CC) $(CC) -c $(STD_CFLAGS) '-DOPCODE_RULES="@sim_ppc_opcode@"' '-DIGEN_FLAGS="$(IGEN_FLAGS)"' $(srcdir)/options.c - -# -# Rules to create the built c source code files -# - -tmp-igen: igen $(srcdir)/powerpc.igen $(srcdir)/altivec.igen $(srcdir)/e500.igen $(IGEN_OPCODE_RULES) $(srcroot)/move-if-change - $(ECHO_GEN) $(IGEN) $(IGEN_FLAGS) \ - -o $(srcdir)/$(IGEN_OPCODE_RULES) \ - -I $(srcdir) -i $(srcdir)/powerpc.igen \ - -n icache.h -hc icache.h \ - -n icache.c -c icache.c \ - -n semantics.h -hs semantics.h \ - -n semantics.c -s semantics.c \ - -n idecode.h -hd idecode.h \ - -n idecode.c -d idecode.c \ - -n itable.h -ht itable.h \ - -n itable.c -t itable.c \ - -n model.h -hm model.h \ - -n model.c -m model.c \ - -n support.h -hf support.h \ - -n support.c -f support.c - $(SILENCE) touch $@ - -$(TARGETLIB): tmp-igen -itable.h itable.c icache.h icache.c idecode.h idecode.c semantics.h semantics.c model.h model.c support.h support.c: tmp-igen - + $(ECHO_CC) $(CC) -c $(STD_CFLAGS) '-DOPCODE_RULES="@sim_ppc_opcode@"' '-DIGEN_FLAGS="$(ppc_IGEN_FLAGS)"' $(srcdir)/options.c # real hardware hw.c hw.h: tmp-hw; @true diff --git a/sim/ppc/local.mk b/sim/ppc/local.mk index e2d6197..8b5a165 100644 --- a/sim/ppc/local.mk +++ b/sim/ppc/local.mk @@ -74,9 +74,68 @@ EXTRA_LIBRARIES += %D%/libigen.a %C%_igen_SOURCES = %D%/igen.c %C%_igen_LDADD = %D%/libigen.a +# igen leaks memory, and therefore makes AddressSanitizer unhappy. Disable +# leak detection while running it. PPC_IGEN = %D%/igen$(EXEEXT) +PPC_IGEN_RUN = ASAN_OPTIONS=detect_leaks=0 $(PPC_IGEN) $(%C%_IGEN_FLAGS) + +%C%_IGEN_FLAGS = \ + @sim_ppc_decode_mechanism@ \ + @sim_ppc_dup@ \ + @sim_ppc_jump@ \ + @sim_ppc_filter@ \ + @sim_ppc_icache@ \ + @sim_ppc_igen_smp@ \ + @sim_ppc_line_nr@ + +## List all generated headers to help Automake dependency tracking. +BUILT_SOURCES += \ + %D%/icache.h \ + %D%/idecode.h \ + %D%/semantics.h \ + %D%/model.h \ + %D%/support.h \ + %D%/itable.h +%C%_BUILT_SRC_FROM_IGEN = \ + %D%/icache.h \ + %D%/icache.c \ + %D%/idecode.h \ + %D%/idecode.c \ + %D%/semantics.h \ + %D%/semantics.c \ + %D%/model.h \ + %D%/model.c \ + %D%/support.h \ + %D%/support.c \ + %D%/itable.h \ + %D%/itable.c +%C%_BUILD_OUTPUTS = \ + $(%C%_BUILT_SRC_FROM_IGEN) \ + %D%/stamp-igen + +SIM_ALL_RECURSIVE_DEPS += %D%/stamp-igen +$(%C%_BUILT_SRC_FROM_IGEN): %D%/stamp-igen + +%C%_IGEN_OPCODE_RULES = %D%/@sim_ppc_opcode@ +%D%/stamp-igen: %D%/powerpc.igen %D%/altivec.igen %D%/e500.igen $(%C%_IGEN_OPCODE_RULES) $(PPC_IGEN) + $(AM_V_GEN)$(PPC_IGEN_RUN) \ + -o $(srcdir)/$(%C%_IGEN_OPCODE_RULES) \ + -I $(srcdir)/%D% -i $(srcdir)/%D%/powerpc.igen \ + -n icache.h -hc %D%/icache.h \ + -n icache.c -c %D%/icache.c \ + -n semantics.h -hs %D%/semantics.h \ + -n semantics.c -s %D%/semantics.c \ + -n idecode.h -hd %D%/idecode.h \ + -n idecode.c -d %D%/idecode.c \ + -n itable.h -ht %D%/itable.h \ + -n itable.c -t %D%/itable.c \ + -n model.h -hm %D%/model.h \ + -n model.c -m %D%/model.c \ + -n support.h -hf %D%/support.h \ + -n support.c -f %D%/support.c + $(AM_V_at)touch $@ -SIM_ALL_RECURSIVE_DEPS += $(PPC_IGEN) +MOSTLYCLEANFILES += $(%C%_BUILD_OUTPUTS) ## These rules are copied from automake, but tweaked to use FOR_BUILD variables. %D%/libigen.a: $(%C%_libigen_a_OBJECTS) $(%C%_libigen_a_DEPENDENCIES) $(EXTRA_%C%_libigen_a_DEPENDENCIES) %D%/$(am__dirstamp) @@ -116,5 +175,7 @@ $(%C%_libigen_a_OBJECTS) $(%C%_igen_OBJECTS): %D%/%.o: %D%/%.c EXTRA_PROGRAMS += $(%C%_IGEN_TOOLS) MOSTLYCLEANFILES += $(%C%_IGEN_TOOLS) %D%/libigen.a +IGEN_OPCODE_RULES = @sim_ppc_opcode@ + %C%docdir = $(docdir)/%C% %C%doc_DATA = %D%/BUGS %D%/INSTALL %D%/README %D%/RUN |