public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] sim: run: move linking into top-level
@ 2022-11-05 13:02 Michael Frysinger
  0 siblings, 0 replies; only message in thread
From: Michael Frysinger @ 2022-11-05 13:02 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c0c25232da12f3985041cded1bb7e761d4d0cd1e

commit c0c25232da12f3985041cded1bb7e761d4d0cd1e
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Thu Nov 3 18:19:13 2022 +0700

    sim: run: move linking into top-level
    
    Automake will run each subdir individually before moving on to the next
    one.  This means that the linking phase, a single threaded process, will
    not run in parallel with anything else.  When we have to link ~32 ports,
    that's 32 link steps that don't take advantage of parallel systems.  On
    my really old 4-core system, this cuts a multi-target build from ~60 sec
    to ~30 sec.  We eventually want to move all compile+link steps to this
    common dir anyways, so might as well move linking now for a nice speedup.
    
    We use noinst_PROGRAMS instead of bin_PROGRAMS because we're taking care
    of the install ourselves rather than letting automake process it.

Diff:
---
 sim/Makefile.am              |  50 +++
 sim/Makefile.in              | 935 +++++++++++++++++++++++++++++++++++++++----
 sim/aarch64/local.mk         |  25 ++
 sim/arm/local.mk             |   9 +
 sim/avr/local.mk             |  24 ++
 sim/bfin/local.mk            |  25 ++
 sim/bpf/local.mk             |   8 +
 sim/common/Make-common.in    |   7 +-
 sim/common/local.mk          |  19 +-
 sim/configure                |  18 +-
 sim/configure.ac             |   1 +
 sim/cr16/local.mk            |   8 +
 sim/cris/local.mk            |   8 +
 sim/d10v/local.mk            |   8 +
 sim/erc32/Makefile.in        |   9 -
 sim/erc32/local.mk           |  17 +
 sim/example-synacor/local.mk |  25 ++
 sim/frv/local.mk             |   8 +
 sim/ft32/local.mk            |  25 ++
 sim/h8300/local.mk           |  25 ++
 sim/iq2000/local.mk          |   8 +
 sim/lm32/local.mk            |   8 +
 sim/m32c/local.mk            |  12 +
 sim/m32r/local.mk            |   8 +
 sim/m68hc11/local.mk         |   8 +
 sim/mcore/local.mk           |  25 ++
 sim/microblaze/local.mk      |  25 ++
 sim/mips/local.mk            |  25 ++
 sim/mn10300/local.mk         |   8 +
 sim/moxie/local.mk           |  18 +-
 sim/msp430/local.mk          |  25 ++
 sim/or1k/local.mk            |   8 +
 sim/ppc/Makefile.in          |  16 +-
 sim/ppc/local.mk             |  15 +
 sim/pru/local.mk             |  25 ++
 sim/riscv/local.mk           |  25 ++
 sim/rl78/local.mk            |  29 ++
 sim/rx/local.mk              |  13 +
 sim/sh/local.mk              |   8 +
 sim/v850/local.mk            |   8 +
 40 files changed, 1445 insertions(+), 126 deletions(-)

diff --git a/sim/Makefile.am b/sim/Makefile.am
index 4e4068a3539..64847bc7abb 100644
--- a/sim/Makefile.am
+++ b/sim/Makefile.am
@@ -33,6 +33,7 @@ AM_MAKEFLAGS = SIM_PRIMARY_TARGET=$(SIM_PRIMARY_TARGET)
 ## be used consistently in local.mk files we include below.
 pkginclude_HEADERS =
 check_PROGRAMS =
+noinst_PROGRAMS =
 noinst_LIBRARIES =
 EXTRA_PROGRAMS =
 
@@ -85,9 +86,19 @@ include igen/local.mk
 endif
 include testsuite/local.mk
 
+## Arch includes must come after common/local.mk.
+if SIM_ENABLE_ARCH_aarch64
+include aarch64/local.mk
+endif
 if SIM_ENABLE_ARCH_arm
 include arm/local.mk
 endif
+if SIM_ENABLE_ARCH_avr
+include avr/local.mk
+endif
+if SIM_ENABLE_ARCH_bfin
+include bfin/local.mk
+endif
 if SIM_ENABLE_ARCH_bpf
 include bpf/local.mk
 endif
@@ -103,9 +114,18 @@ endif
 if SIM_ENABLE_ARCH_erc32
 include erc32/local.mk
 endif
+if SIM_ENABLE_ARCH_examples
+include example-synacor/local.mk
+endif
 if SIM_ENABLE_ARCH_frv
 include frv/local.mk
 endif
+if SIM_ENABLE_ARCH_ft32
+include ft32/local.mk
+endif
+if SIM_ENABLE_ARCH_h8300
+include h8300/local.mk
+endif
 if SIM_ENABLE_ARCH_iq2000
 include iq2000/local.mk
 endif
@@ -121,18 +141,39 @@ endif
 if SIM_ENABLE_ARCH_m68hc11
 include m68hc11/local.mk
 endif
+if SIM_ENABLE_ARCH_mcore
+include mcore/local.mk
+endif
+if SIM_ENABLE_ARCH_microblaze
+include microblaze/local.mk
+endif
+if SIM_ENABLE_ARCH_mips
+include mips/local.mk
+endif
 if SIM_ENABLE_ARCH_mn10300
 include mn10300/local.mk
 endif
 if SIM_ENABLE_ARCH_moxie
 include moxie/local.mk
 endif
+if SIM_ENABLE_ARCH_msp430
+include msp430/local.mk
+endif
 if SIM_ENABLE_ARCH_or1k
 include or1k/local.mk
 endif
 if SIM_ENABLE_ARCH_ppc
 include ppc/local.mk
 endif
+if SIM_ENABLE_ARCH_pru
+include pru/local.mk
+endif
+if SIM_ENABLE_ARCH_riscv
+include riscv/local.mk
+endif
+if SIM_ENABLE_ARCH_rl78
+include rl78/local.mk
+endif
 if SIM_ENABLE_ARCH_rx
 include rx/local.mk
 endif
@@ -143,6 +184,15 @@ if SIM_ENABLE_ARCH_v850
 include v850/local.mk
 endif
 
+## Helper targets for running make from the top-level when some subdirs still
+## have Makefiles in subdirs.
+
+%/libsim.a: | $(SIM_ALL_RECURSIVE_DEPS)
+	$(MAKE) -C $(@D) $(@F)
+
+%/nrun.o: common/nrun.c | %/libsim.a $(SIM_ALL_RECURSIVE_DEPS)
+	$(MAKE) -C $(@D) $(@F)
+
 all-recursive: $(SIM_ALL_RECURSIVE_DEPS)
 
 install-data-local: installdirs $(SIM_INSTALL_DATA_LOCAL_DEPS)
diff --git a/sim/Makefile.in b/sim/Makefile.in
index e9ba210c2bb..abf852589cf 100644
--- a/sim/Makefile.in
+++ b/sim/Makefile.in
@@ -31,6 +31,7 @@
 
 
 
+
 VPATH = @srcdir@
 am__is_gnu_make = { \
   if test -z '$(MAKELEVEL)'; then \
@@ -107,6 +108,17 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 check_PROGRAMS = $(am__EXEEXT_8) $(am__EXEEXT_9)
+noinst_PROGRAMS = $(am__EXEEXT_10) $(am__EXEEXT_11) $(am__EXEEXT_12) \
+	$(am__EXEEXT_13) $(am__EXEEXT_14) $(am__EXEEXT_15) \
+	$(am__EXEEXT_16) $(am__EXEEXT_17) $(am__EXEEXT_18) \
+	$(am__EXEEXT_19) $(am__EXEEXT_20) $(am__EXEEXT_21) \
+	$(am__EXEEXT_22) $(am__EXEEXT_23) $(am__EXEEXT_24) \
+	$(am__EXEEXT_25) $(am__EXEEXT_26) $(am__EXEEXT_27) \
+	$(am__EXEEXT_28) $(am__EXEEXT_29) $(am__EXEEXT_30) \
+	$(am__EXEEXT_31) $(am__EXEEXT_32) $(am__EXEEXT_33) \
+	$(am__EXEEXT_34) $(am__EXEEXT_35) $(am__EXEEXT_36) \
+	$(am__EXEEXT_37) $(am__EXEEXT_38) $(am__EXEEXT_39) \
+	$(am__EXEEXT_40) $(am__EXEEXT_41)
 EXTRA_PROGRAMS = $(am__EXEEXT_2) testsuite/common/bits-gen$(EXEEXT) \
 	testsuite/common/fpu-tst$(EXEEXT) $(am__EXEEXT_3) \
 	$(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \
@@ -124,47 +136,78 @@ TESTS = testsuite/common/bits32m0$(EXEEXT) \
 	testsuite/common/bits64m0$(EXEEXT) \
 	testsuite/common/bits64m63$(EXEEXT) \
 	testsuite/common/alu-tst$(EXEEXT)
-@SIM_ENABLE_ARCH_bpf_TRUE@am__append_6 = $(bpf_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_bpf_TRUE@am__append_7 = $(bpf_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_cr16_TRUE@am__append_8 = $(cr16_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_cr16_TRUE@am__append_9 = cr16/gencode
-@SIM_ENABLE_ARCH_cr16_TRUE@am__append_10 = $(cr16_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_cris_TRUE@am__append_11 = cris/rvdummy
-@SIM_ENABLE_ARCH_cris_TRUE@am__append_12 = $(cris_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_cris_TRUE@am__append_13 = $(cris_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_d10v_TRUE@am__append_14 = $(d10v_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_d10v_TRUE@am__append_15 = d10v/gencode
-@SIM_ENABLE_ARCH_d10v_TRUE@am__append_16 = $(d10v_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_erc32_TRUE@am__append_17 = sim-%D-install-exec-local
-@SIM_ENABLE_ARCH_erc32_TRUE@am__append_18 = sim-erc32-uninstall-local
-@SIM_ENABLE_ARCH_frv_TRUE@am__append_19 = $(frv_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_frv_TRUE@am__append_20 = $(frv_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_iq2000_TRUE@am__append_21 = $(iq2000_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_iq2000_TRUE@am__append_22 = $(iq2000_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_lm32_TRUE@am__append_23 = $(lm32_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_lm32_TRUE@am__append_24 = $(lm32_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_m32c_TRUE@am__append_25 = $(m32c_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_m32c_TRUE@am__append_26 = m32c/opc2c
-@SIM_ENABLE_ARCH_m32c_TRUE@am__append_27 = \
+@SIM_ENABLE_ARCH_aarch64_TRUE@am__append_6 = aarch64/run
+@SIM_ENABLE_ARCH_arm_TRUE@am__append_7 = arm/run
+@SIM_ENABLE_ARCH_avr_TRUE@am__append_8 = avr/run
+@SIM_ENABLE_ARCH_bfin_TRUE@am__append_9 = bfin/run
+@SIM_ENABLE_ARCH_bpf_TRUE@am__append_10 = bpf/run
+@SIM_ENABLE_ARCH_bpf_TRUE@am__append_11 = $(bpf_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_bpf_TRUE@am__append_12 = $(bpf_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_cr16_TRUE@am__append_13 = cr16/run
+@SIM_ENABLE_ARCH_cr16_TRUE@am__append_14 = $(cr16_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_cr16_TRUE@am__append_15 = cr16/gencode
+@SIM_ENABLE_ARCH_cr16_TRUE@am__append_16 = $(cr16_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_cris_TRUE@am__append_17 = cris/run
+@SIM_ENABLE_ARCH_cris_TRUE@am__append_18 = cris/rvdummy
+@SIM_ENABLE_ARCH_cris_TRUE@am__append_19 = $(cris_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_cris_TRUE@am__append_20 = $(cris_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_d10v_TRUE@am__append_21 = d10v/run
+@SIM_ENABLE_ARCH_d10v_TRUE@am__append_22 = $(d10v_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_d10v_TRUE@am__append_23 = d10v/gencode
+@SIM_ENABLE_ARCH_d10v_TRUE@am__append_24 = $(d10v_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_erc32_TRUE@am__append_25 = erc32/run erc32/sis
+@SIM_ENABLE_ARCH_erc32_TRUE@am__append_26 = sim-%D-install-exec-local
+@SIM_ENABLE_ARCH_erc32_TRUE@am__append_27 = sim-erc32-uninstall-local
+@SIM_ENABLE_ARCH_examples_TRUE@am__append_28 = example-synacor/run
+@SIM_ENABLE_ARCH_frv_TRUE@am__append_29 = frv/run
+@SIM_ENABLE_ARCH_frv_TRUE@am__append_30 = $(frv_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_frv_TRUE@am__append_31 = $(frv_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_ft32_TRUE@am__append_32 = ft32/run
+@SIM_ENABLE_ARCH_h8300_TRUE@am__append_33 = h8300/run
+@SIM_ENABLE_ARCH_iq2000_TRUE@am__append_34 = iq2000/run
+@SIM_ENABLE_ARCH_iq2000_TRUE@am__append_35 = $(iq2000_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_iq2000_TRUE@am__append_36 = $(iq2000_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_lm32_TRUE@am__append_37 = lm32/run
+@SIM_ENABLE_ARCH_lm32_TRUE@am__append_38 = $(lm32_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_lm32_TRUE@am__append_39 = $(lm32_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_m32c_TRUE@am__append_40 = m32c/run
+@SIM_ENABLE_ARCH_m32c_TRUE@am__append_41 = $(m32c_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_m32c_TRUE@am__append_42 = m32c/opc2c
+@SIM_ENABLE_ARCH_m32c_TRUE@am__append_43 = \
 @SIM_ENABLE_ARCH_m32c_TRUE@	$(m32c_BUILD_OUTPUTS) \
 @SIM_ENABLE_ARCH_m32c_TRUE@	m32c/m32c.c.log \
 @SIM_ENABLE_ARCH_m32c_TRUE@	m32c/r8c.c.log
 
-@SIM_ENABLE_ARCH_m32r_TRUE@am__append_28 = $(m32r_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_m32r_TRUE@am__append_29 = $(m32r_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_m68hc11_TRUE@am__append_30 = $(m68hc11_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_m68hc11_TRUE@am__append_31 = m68hc11/gencode
-@SIM_ENABLE_ARCH_m68hc11_TRUE@am__append_32 = $(m68hc11_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_mn10300_TRUE@am__append_33 = $(mn10300_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_mn10300_TRUE@am__append_34 = $(mn10300_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_moxie_TRUE@am__append_35 = moxie/$(am__dirstamp)
-@SIM_ENABLE_ARCH_or1k_TRUE@am__append_36 = $(or1k_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_or1k_TRUE@am__append_37 = $(or1k_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_sh_TRUE@am__append_38 = $(sh_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_sh_TRUE@am__append_39 = sh/gencode
-@SIM_ENABLE_ARCH_sh_TRUE@am__append_40 = $(sh_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_v850_TRUE@am__append_41 = $(v850_BUILD_OUTPUTS)
-@SIM_ENABLE_ARCH_v850_TRUE@am__append_42 = $(v850_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_m32r_TRUE@am__append_44 = m32r/run
+@SIM_ENABLE_ARCH_m32r_TRUE@am__append_45 = $(m32r_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_m32r_TRUE@am__append_46 = $(m32r_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_m68hc11_TRUE@am__append_47 = m68hc11/run
+@SIM_ENABLE_ARCH_m68hc11_TRUE@am__append_48 = $(m68hc11_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_m68hc11_TRUE@am__append_49 = m68hc11/gencode
+@SIM_ENABLE_ARCH_m68hc11_TRUE@am__append_50 = $(m68hc11_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_mcore_TRUE@am__append_51 = mcore/run
+@SIM_ENABLE_ARCH_microblaze_TRUE@am__append_52 = microblaze/run
+@SIM_ENABLE_ARCH_mips_TRUE@am__append_53 = mips/run
+@SIM_ENABLE_ARCH_mn10300_TRUE@am__append_54 = mn10300/run
+@SIM_ENABLE_ARCH_mn10300_TRUE@am__append_55 = $(mn10300_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_mn10300_TRUE@am__append_56 = $(mn10300_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_moxie_TRUE@am__append_57 = moxie/run
+@SIM_ENABLE_ARCH_msp430_TRUE@am__append_58 = msp430/run
+@SIM_ENABLE_ARCH_or1k_TRUE@am__append_59 = or1k/run
+@SIM_ENABLE_ARCH_or1k_TRUE@am__append_60 = $(or1k_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_or1k_TRUE@am__append_61 = $(or1k_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_ppc_TRUE@am__append_62 = ppc/run ppc/psim
+@SIM_ENABLE_ARCH_pru_TRUE@am__append_63 = pru/run
+@SIM_ENABLE_ARCH_riscv_TRUE@am__append_64 = riscv/run
+@SIM_ENABLE_ARCH_rl78_TRUE@am__append_65 = rl78/run
+@SIM_ENABLE_ARCH_rx_TRUE@am__append_66 = rx/run
+@SIM_ENABLE_ARCH_sh_TRUE@am__append_67 = sh/run
+@SIM_ENABLE_ARCH_sh_TRUE@am__append_68 = $(sh_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_sh_TRUE@am__append_69 = sh/gencode
+@SIM_ENABLE_ARCH_sh_TRUE@am__append_70 = $(sh_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_v850_TRUE@am__append_71 = v850/run
+@SIM_ENABLE_ARCH_v850_TRUE@am__append_72 = $(v850_BUILD_OUTPUTS)
+@SIM_ENABLE_ARCH_v850_TRUE@am__append_73 = $(v850_BUILD_OUTPUTS)
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
@@ -271,24 +314,127 @@ am__EXEEXT_8 = testsuite/common/bits32m0$(EXEEXT) \
 	testsuite/common/bits64m63$(EXEEXT) \
 	testsuite/common/alu-tst$(EXEEXT)
 @SIM_ENABLE_ARCH_cris_TRUE@am__EXEEXT_9 = cris/rvdummy$(EXEEXT)
+@SIM_ENABLE_ARCH_aarch64_TRUE@am__EXEEXT_10 = aarch64/run$(EXEEXT)
+@SIM_ENABLE_ARCH_arm_TRUE@am__EXEEXT_11 = arm/run$(EXEEXT)
+@SIM_ENABLE_ARCH_avr_TRUE@am__EXEEXT_12 = avr/run$(EXEEXT)
+@SIM_ENABLE_ARCH_bfin_TRUE@am__EXEEXT_13 = bfin/run$(EXEEXT)
+@SIM_ENABLE_ARCH_bpf_TRUE@am__EXEEXT_14 = bpf/run$(EXEEXT)
+@SIM_ENABLE_ARCH_cr16_TRUE@am__EXEEXT_15 = cr16/run$(EXEEXT)
+@SIM_ENABLE_ARCH_cris_TRUE@am__EXEEXT_16 = cris/run$(EXEEXT)
+@SIM_ENABLE_ARCH_d10v_TRUE@am__EXEEXT_17 = d10v/run$(EXEEXT)
+@SIM_ENABLE_ARCH_erc32_TRUE@am__EXEEXT_18 = erc32/run$(EXEEXT) \
+@SIM_ENABLE_ARCH_erc32_TRUE@	erc32/sis$(EXEEXT)
+@SIM_ENABLE_ARCH_examples_TRUE@am__EXEEXT_19 =  \
+@SIM_ENABLE_ARCH_examples_TRUE@	example-synacor/run$(EXEEXT)
+@SIM_ENABLE_ARCH_frv_TRUE@am__EXEEXT_20 = frv/run$(EXEEXT)
+@SIM_ENABLE_ARCH_ft32_TRUE@am__EXEEXT_21 = ft32/run$(EXEEXT)
+@SIM_ENABLE_ARCH_h8300_TRUE@am__EXEEXT_22 = h8300/run$(EXEEXT)
+@SIM_ENABLE_ARCH_iq2000_TRUE@am__EXEEXT_23 = iq2000/run$(EXEEXT)
+@SIM_ENABLE_ARCH_lm32_TRUE@am__EXEEXT_24 = lm32/run$(EXEEXT)
+@SIM_ENABLE_ARCH_m32c_TRUE@am__EXEEXT_25 = m32c/run$(EXEEXT)
+@SIM_ENABLE_ARCH_m32r_TRUE@am__EXEEXT_26 = m32r/run$(EXEEXT)
+@SIM_ENABLE_ARCH_m68hc11_TRUE@am__EXEEXT_27 = m68hc11/run$(EXEEXT)
+@SIM_ENABLE_ARCH_mcore_TRUE@am__EXEEXT_28 = mcore/run$(EXEEXT)
+@SIM_ENABLE_ARCH_microblaze_TRUE@am__EXEEXT_29 =  \
+@SIM_ENABLE_ARCH_microblaze_TRUE@	microblaze/run$(EXEEXT)
+@SIM_ENABLE_ARCH_mips_TRUE@am__EXEEXT_30 = mips/run$(EXEEXT)
+@SIM_ENABLE_ARCH_mn10300_TRUE@am__EXEEXT_31 = mn10300/run$(EXEEXT)
+@SIM_ENABLE_ARCH_moxie_TRUE@am__EXEEXT_32 = moxie/run$(EXEEXT)
+@SIM_ENABLE_ARCH_msp430_TRUE@am__EXEEXT_33 = msp430/run$(EXEEXT)
+@SIM_ENABLE_ARCH_or1k_TRUE@am__EXEEXT_34 = or1k/run$(EXEEXT)
+@SIM_ENABLE_ARCH_ppc_TRUE@am__EXEEXT_35 = ppc/run$(EXEEXT) \
+@SIM_ENABLE_ARCH_ppc_TRUE@	ppc/psim$(EXEEXT)
+@SIM_ENABLE_ARCH_pru_TRUE@am__EXEEXT_36 = pru/run$(EXEEXT)
+@SIM_ENABLE_ARCH_riscv_TRUE@am__EXEEXT_37 = riscv/run$(EXEEXT)
+@SIM_ENABLE_ARCH_rl78_TRUE@am__EXEEXT_38 = rl78/run$(EXEEXT)
+@SIM_ENABLE_ARCH_rx_TRUE@am__EXEEXT_39 = rx/run$(EXEEXT)
+@SIM_ENABLE_ARCH_sh_TRUE@am__EXEEXT_40 = sh/run$(EXEEXT)
+@SIM_ENABLE_ARCH_v850_TRUE@am__EXEEXT_41 = v850/run$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+am_aarch64_run_OBJECTS =
+aarch64_run_OBJECTS = $(am_aarch64_run_OBJECTS)
+am__DEPENDENCIES_1 = $(SIM_COMMON_LIB) $(BFD_LIB) $(OPCODES_LIB) \
+	$(LIBIBERTY_LIB)
+@SIM_ENABLE_ARCH_aarch64_TRUE@aarch64_run_DEPENDENCIES =  \
+@SIM_ENABLE_ARCH_aarch64_TRUE@	aarch64/nrun.o aarch64/libsim.a \
+@SIM_ENABLE_ARCH_aarch64_TRUE@	$(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+am_arm_run_OBJECTS =
+arm_run_OBJECTS = $(am_arm_run_OBJECTS)
+@SIM_ENABLE_ARCH_arm_TRUE@arm_run_DEPENDENCIES = arm/nrun.o \
+@SIM_ENABLE_ARCH_arm_TRUE@	arm/libsim.a $(am__DEPENDENCIES_1)
+am_avr_run_OBJECTS =
+avr_run_OBJECTS = $(am_avr_run_OBJECTS)
+@SIM_ENABLE_ARCH_avr_TRUE@avr_run_DEPENDENCIES = avr/nrun.o \
+@SIM_ENABLE_ARCH_avr_TRUE@	avr/libsim.a $(am__DEPENDENCIES_1)
+am_bfin_run_OBJECTS =
+bfin_run_OBJECTS = $(am_bfin_run_OBJECTS)
+@SIM_ENABLE_ARCH_bfin_TRUE@bfin_run_DEPENDENCIES = bfin/nrun.o \
+@SIM_ENABLE_ARCH_bfin_TRUE@	bfin/libsim.a $(am__DEPENDENCIES_1)
+am_bpf_run_OBJECTS =
+bpf_run_OBJECTS = $(am_bpf_run_OBJECTS)
+@SIM_ENABLE_ARCH_bpf_TRUE@bpf_run_DEPENDENCIES = bpf/nrun.o \
+@SIM_ENABLE_ARCH_bpf_TRUE@	bpf/libsim.a $(am__DEPENDENCIES_1)
 @SIM_ENABLE_ARCH_cr16_TRUE@am_cr16_gencode_OBJECTS =  \
 @SIM_ENABLE_ARCH_cr16_TRUE@	cr16/gencode.$(OBJEXT)
 cr16_gencode_OBJECTS = $(am_cr16_gencode_OBJECTS)
 @SIM_ENABLE_ARCH_cr16_TRUE@cr16_gencode_DEPENDENCIES =  \
 @SIM_ENABLE_ARCH_cr16_TRUE@	cr16/cr16-opc.o
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 = 
+am_cr16_run_OBJECTS =
+cr16_run_OBJECTS = $(am_cr16_run_OBJECTS)
+@SIM_ENABLE_ARCH_cr16_TRUE@cr16_run_DEPENDENCIES = cr16/nrun.o \
+@SIM_ENABLE_ARCH_cr16_TRUE@	cr16/libsim.a $(am__DEPENDENCIES_1)
+am_cris_run_OBJECTS =
+cris_run_OBJECTS = $(am_cris_run_OBJECTS)
+@SIM_ENABLE_ARCH_cris_TRUE@cris_run_DEPENDENCIES = cris/nrun.o \
+@SIM_ENABLE_ARCH_cris_TRUE@	cris/libsim.a $(am__DEPENDENCIES_1)
 @SIM_ENABLE_ARCH_cris_TRUE@am_cris_rvdummy_OBJECTS =  \
 @SIM_ENABLE_ARCH_cris_TRUE@	cris/rvdummy.$(OBJEXT)
 cris_rvdummy_OBJECTS = $(am_cris_rvdummy_OBJECTS)
-cris_rvdummy_DEPENDENCIES =
+@SIM_ENABLE_ARCH_cris_TRUE@cris_rvdummy_DEPENDENCIES =  \
+@SIM_ENABLE_ARCH_cris_TRUE@	$(LIBIBERTY_LIB)
 @SIM_ENABLE_ARCH_d10v_TRUE@am_d10v_gencode_OBJECTS =  \
 @SIM_ENABLE_ARCH_d10v_TRUE@	d10v/gencode.$(OBJEXT)
 d10v_gencode_OBJECTS = $(am_d10v_gencode_OBJECTS)
 @SIM_ENABLE_ARCH_d10v_TRUE@d10v_gencode_DEPENDENCIES =  \
 @SIM_ENABLE_ARCH_d10v_TRUE@	d10v/d10v-opc.o
+am_d10v_run_OBJECTS =
+d10v_run_OBJECTS = $(am_d10v_run_OBJECTS)
+@SIM_ENABLE_ARCH_d10v_TRUE@d10v_run_DEPENDENCIES = d10v/nrun.o \
+@SIM_ENABLE_ARCH_d10v_TRUE@	d10v/libsim.a $(am__DEPENDENCIES_1)
+am_erc32_run_OBJECTS =
+erc32_run_OBJECTS = $(am_erc32_run_OBJECTS)
+am__DEPENDENCIES_2 =
+@SIM_ENABLE_ARCH_erc32_TRUE@erc32_run_DEPENDENCIES = erc32/sis.o \
+@SIM_ENABLE_ARCH_erc32_TRUE@	erc32/libsim.a \
+@SIM_ENABLE_ARCH_erc32_TRUE@	$(am__DEPENDENCIES_1) \
+@SIM_ENABLE_ARCH_erc32_TRUE@	$(am__DEPENDENCIES_2) \
+@SIM_ENABLE_ARCH_erc32_TRUE@	$(am__DEPENDENCIES_2)
+erc32_sis_SOURCES = erc32/sis.c
+erc32_sis_OBJECTS = erc32/sis.$(OBJEXT)
+erc32_sis_LDADD = $(LDADD)
+am_example_synacor_run_OBJECTS =
+example_synacor_run_OBJECTS = $(am_example_synacor_run_OBJECTS)
+@SIM_ENABLE_ARCH_examples_TRUE@example_synacor_run_DEPENDENCIES =  \
+@SIM_ENABLE_ARCH_examples_TRUE@	example-synacor/nrun.o \
+@SIM_ENABLE_ARCH_examples_TRUE@	example-synacor/libsim.a \
+@SIM_ENABLE_ARCH_examples_TRUE@	$(am__DEPENDENCIES_1)
+am_frv_run_OBJECTS =
+frv_run_OBJECTS = $(am_frv_run_OBJECTS)
+@SIM_ENABLE_ARCH_frv_TRUE@frv_run_DEPENDENCIES = frv/nrun.o \
+@SIM_ENABLE_ARCH_frv_TRUE@	frv/libsim.a $(am__DEPENDENCIES_1)
+am_ft32_run_OBJECTS =
+ft32_run_OBJECTS = $(am_ft32_run_OBJECTS)
+@SIM_ENABLE_ARCH_ft32_TRUE@ft32_run_DEPENDENCIES = ft32/nrun.o \
+@SIM_ENABLE_ARCH_ft32_TRUE@	ft32/libsim.a $(am__DEPENDENCIES_1)
+am_h8300_run_OBJECTS =
+h8300_run_OBJECTS = $(am_h8300_run_OBJECTS)
+@SIM_ENABLE_ARCH_h8300_TRUE@h8300_run_DEPENDENCIES = h8300/nrun.o \
+@SIM_ENABLE_ARCH_h8300_TRUE@	h8300/libsim.a \
+@SIM_ENABLE_ARCH_h8300_TRUE@	$(am__DEPENDENCIES_1)
 am_igen_filter_OBJECTS =
 igen_filter_OBJECTS = $(am_igen_filter_OBJECTS)
 @SIM_ENABLE_IGEN_TRUE@igen_filter_DEPENDENCIES = igen/filter-main.o \
@@ -316,17 +462,101 @@ am_igen_table_OBJECTS =
 igen_table_OBJECTS = $(am_igen_table_OBJECTS)
 @SIM_ENABLE_IGEN_TRUE@igen_table_DEPENDENCIES = igen/table-main.o \
 @SIM_ENABLE_IGEN_TRUE@	igen/libigen.a
+am_iq2000_run_OBJECTS =
+iq2000_run_OBJECTS = $(am_iq2000_run_OBJECTS)
+@SIM_ENABLE_ARCH_iq2000_TRUE@iq2000_run_DEPENDENCIES = iq2000/nrun.o \
+@SIM_ENABLE_ARCH_iq2000_TRUE@	iq2000/libsim.a \
+@SIM_ENABLE_ARCH_iq2000_TRUE@	$(am__DEPENDENCIES_1)
+am_lm32_run_OBJECTS =
+lm32_run_OBJECTS = $(am_lm32_run_OBJECTS)
+@SIM_ENABLE_ARCH_lm32_TRUE@lm32_run_DEPENDENCIES = lm32/nrun.o \
+@SIM_ENABLE_ARCH_lm32_TRUE@	lm32/libsim.a $(am__DEPENDENCIES_1)
 @SIM_ENABLE_ARCH_m32c_TRUE@am_m32c_opc2c_OBJECTS =  \
 @SIM_ENABLE_ARCH_m32c_TRUE@	m32c/opc2c.$(OBJEXT)
 m32c_opc2c_OBJECTS = $(am_m32c_opc2c_OBJECTS)
 m32c_opc2c_LDADD = $(LDADD)
+am_m32c_run_OBJECTS =
+m32c_run_OBJECTS = $(am_m32c_run_OBJECTS)
+@SIM_ENABLE_ARCH_m32c_TRUE@m32c_run_DEPENDENCIES = m32c/main.o \
+@SIM_ENABLE_ARCH_m32c_TRUE@	m32c/libsim.a $(am__DEPENDENCIES_1)
+am_m32r_run_OBJECTS =
+m32r_run_OBJECTS = $(am_m32r_run_OBJECTS)
+@SIM_ENABLE_ARCH_m32r_TRUE@m32r_run_DEPENDENCIES = m32r/nrun.o \
+@SIM_ENABLE_ARCH_m32r_TRUE@	m32r/libsim.a $(am__DEPENDENCIES_1)
 @SIM_ENABLE_ARCH_m68hc11_TRUE@am_m68hc11_gencode_OBJECTS =  \
 @SIM_ENABLE_ARCH_m68hc11_TRUE@	m68hc11/gencode.$(OBJEXT)
 m68hc11_gencode_OBJECTS = $(am_m68hc11_gencode_OBJECTS)
 m68hc11_gencode_LDADD = $(LDADD)
+am_m68hc11_run_OBJECTS =
+m68hc11_run_OBJECTS = $(am_m68hc11_run_OBJECTS)
+@SIM_ENABLE_ARCH_m68hc11_TRUE@m68hc11_run_DEPENDENCIES =  \
+@SIM_ENABLE_ARCH_m68hc11_TRUE@	m68hc11/nrun.o m68hc11/libsim.a \
+@SIM_ENABLE_ARCH_m68hc11_TRUE@	$(am__DEPENDENCIES_1)
+am_mcore_run_OBJECTS =
+mcore_run_OBJECTS = $(am_mcore_run_OBJECTS)
+@SIM_ENABLE_ARCH_mcore_TRUE@mcore_run_DEPENDENCIES = mcore/nrun.o \
+@SIM_ENABLE_ARCH_mcore_TRUE@	mcore/libsim.a \
+@SIM_ENABLE_ARCH_mcore_TRUE@	$(am__DEPENDENCIES_1)
+am_microblaze_run_OBJECTS =
+microblaze_run_OBJECTS = $(am_microblaze_run_OBJECTS)
+@SIM_ENABLE_ARCH_microblaze_TRUE@microblaze_run_DEPENDENCIES =  \
+@SIM_ENABLE_ARCH_microblaze_TRUE@	microblaze/nrun.o \
+@SIM_ENABLE_ARCH_microblaze_TRUE@	microblaze/libsim.a \
+@SIM_ENABLE_ARCH_microblaze_TRUE@	$(am__DEPENDENCIES_1)
+am_mips_run_OBJECTS =
+mips_run_OBJECTS = $(am_mips_run_OBJECTS)
+@SIM_ENABLE_ARCH_mips_TRUE@mips_run_DEPENDENCIES = mips/nrun.o \
+@SIM_ENABLE_ARCH_mips_TRUE@	mips/libsim.a $(am__DEPENDENCIES_1)
+am_mn10300_run_OBJECTS =
+mn10300_run_OBJECTS = $(am_mn10300_run_OBJECTS)
+@SIM_ENABLE_ARCH_mn10300_TRUE@mn10300_run_DEPENDENCIES =  \
+@SIM_ENABLE_ARCH_mn10300_TRUE@	mn10300/nrun.o mn10300/libsim.a \
+@SIM_ENABLE_ARCH_mn10300_TRUE@	$(am__DEPENDENCIES_1)
+am_moxie_run_OBJECTS =
+moxie_run_OBJECTS = $(am_moxie_run_OBJECTS)
+@SIM_ENABLE_ARCH_moxie_TRUE@moxie_run_DEPENDENCIES = moxie/nrun.o \
+@SIM_ENABLE_ARCH_moxie_TRUE@	moxie/libsim.a \
+@SIM_ENABLE_ARCH_moxie_TRUE@	$(am__DEPENDENCIES_1)
+am_msp430_run_OBJECTS =
+msp430_run_OBJECTS = $(am_msp430_run_OBJECTS)
+@SIM_ENABLE_ARCH_msp430_TRUE@msp430_run_DEPENDENCIES = msp430/nrun.o \
+@SIM_ENABLE_ARCH_msp430_TRUE@	msp430/libsim.a \
+@SIM_ENABLE_ARCH_msp430_TRUE@	$(am__DEPENDENCIES_1)
+am_or1k_run_OBJECTS =
+or1k_run_OBJECTS = $(am_or1k_run_OBJECTS)
+@SIM_ENABLE_ARCH_or1k_TRUE@or1k_run_DEPENDENCIES = or1k/nrun.o \
+@SIM_ENABLE_ARCH_or1k_TRUE@	or1k/libsim.a $(am__DEPENDENCIES_1)
+ppc_psim_SOURCES = ppc/psim.c
+ppc_psim_OBJECTS = ppc/psim.$(OBJEXT)
+ppc_psim_LDADD = $(LDADD)
+am_ppc_run_OBJECTS =
+ppc_run_OBJECTS = $(am_ppc_run_OBJECTS)
+@SIM_ENABLE_ARCH_ppc_TRUE@ppc_run_DEPENDENCIES = ppc/main.o \
+@SIM_ENABLE_ARCH_ppc_TRUE@	ppc/libsim.a $(am__DEPENDENCIES_1)
+am_pru_run_OBJECTS =
+pru_run_OBJECTS = $(am_pru_run_OBJECTS)
+@SIM_ENABLE_ARCH_pru_TRUE@pru_run_DEPENDENCIES = pru/nrun.o \
+@SIM_ENABLE_ARCH_pru_TRUE@	pru/libsim.a $(am__DEPENDENCIES_1)
+am_riscv_run_OBJECTS =
+riscv_run_OBJECTS = $(am_riscv_run_OBJECTS)
+@SIM_ENABLE_ARCH_riscv_TRUE@riscv_run_DEPENDENCIES = riscv/nrun.o \
+@SIM_ENABLE_ARCH_riscv_TRUE@	riscv/libsim.a \
+@SIM_ENABLE_ARCH_riscv_TRUE@	$(am__DEPENDENCIES_1)
+am_rl78_run_OBJECTS =
+rl78_run_OBJECTS = $(am_rl78_run_OBJECTS)
+@SIM_ENABLE_ARCH_rl78_TRUE@rl78_run_DEPENDENCIES = rl78/main.o \
+@SIM_ENABLE_ARCH_rl78_TRUE@	rl78/libsim.a $(am__DEPENDENCIES_1)
+am_rx_run_OBJECTS =
+rx_run_OBJECTS = $(am_rx_run_OBJECTS)
+@SIM_ENABLE_ARCH_rx_TRUE@rx_run_DEPENDENCIES = rx/main.o rx/libsim.a \
+@SIM_ENABLE_ARCH_rx_TRUE@	$(am__DEPENDENCIES_1)
 @SIM_ENABLE_ARCH_sh_TRUE@am_sh_gencode_OBJECTS = sh/gencode.$(OBJEXT)
 sh_gencode_OBJECTS = $(am_sh_gencode_OBJECTS)
 sh_gencode_LDADD = $(LDADD)
+am_sh_run_OBJECTS =
+sh_run_OBJECTS = $(am_sh_run_OBJECTS)
+@SIM_ENABLE_ARCH_sh_TRUE@sh_run_DEPENDENCIES = sh/nrun.o sh/libsim.a \
+@SIM_ENABLE_ARCH_sh_TRUE@	$(am__DEPENDENCIES_1)
 testsuite_common_alu_tst_SOURCES = testsuite/common/alu-tst.c
 testsuite_common_alu_tst_OBJECTS = testsuite/common/alu-tst.$(OBJEXT)
 testsuite_common_alu_tst_LDADD = $(LDADD)
@@ -353,6 +583,10 @@ testsuite_common_bits64m63_LDADD = $(LDADD)
 testsuite_common_fpu_tst_SOURCES = testsuite/common/fpu-tst.c
 testsuite_common_fpu_tst_OBJECTS = testsuite/common/fpu-tst.$(OBJEXT)
 testsuite_common_fpu_tst_LDADD = $(LDADD)
+am_v850_run_OBJECTS =
+v850_run_OBJECTS = $(am_v850_run_OBJECTS)
+@SIM_ENABLE_ARCH_v850_TRUE@v850_run_DEPENDENCIES = v850/nrun.o \
+@SIM_ENABLE_ARCH_v850_TRUE@	v850/libsim.a $(am__DEPENDENCIES_1)
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -388,16 +622,30 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
 SOURCES = $(common_libcommon_a_SOURCES) $(igen_libigen_a_SOURCES) \
-	$(cr16_gencode_SOURCES) $(cris_rvdummy_SOURCES) \
-	$(d10v_gencode_SOURCES) $(igen_filter_SOURCES) \
-	$(igen_gen_SOURCES) $(igen_igen_SOURCES) \
-	$(igen_ld_cache_SOURCES) $(igen_ld_decode_SOURCES) \
-	$(igen_ld_insn_SOURCES) $(igen_table_SOURCES) \
-	$(m32c_opc2c_SOURCES) $(m68hc11_gencode_SOURCES) \
-	$(sh_gencode_SOURCES) testsuite/common/alu-tst.c \
+	$(aarch64_run_SOURCES) $(arm_run_SOURCES) $(avr_run_SOURCES) \
+	$(bfin_run_SOURCES) $(bpf_run_SOURCES) $(cr16_gencode_SOURCES) \
+	$(cr16_run_SOURCES) $(cris_run_SOURCES) \
+	$(cris_rvdummy_SOURCES) $(d10v_gencode_SOURCES) \
+	$(d10v_run_SOURCES) $(erc32_run_SOURCES) erc32/sis.c \
+	$(example_synacor_run_SOURCES) $(frv_run_SOURCES) \
+	$(ft32_run_SOURCES) $(h8300_run_SOURCES) \
+	$(igen_filter_SOURCES) $(igen_gen_SOURCES) \
+	$(igen_igen_SOURCES) $(igen_ld_cache_SOURCES) \
+	$(igen_ld_decode_SOURCES) $(igen_ld_insn_SOURCES) \
+	$(igen_table_SOURCES) $(iq2000_run_SOURCES) \
+	$(lm32_run_SOURCES) $(m32c_opc2c_SOURCES) $(m32c_run_SOURCES) \
+	$(m32r_run_SOURCES) $(m68hc11_gencode_SOURCES) \
+	$(m68hc11_run_SOURCES) $(mcore_run_SOURCES) \
+	$(microblaze_run_SOURCES) $(mips_run_SOURCES) \
+	$(mn10300_run_SOURCES) $(moxie_run_SOURCES) \
+	$(msp430_run_SOURCES) $(or1k_run_SOURCES) ppc/psim.c \
+	$(ppc_run_SOURCES) $(pru_run_SOURCES) $(riscv_run_SOURCES) \
+	$(rl78_run_SOURCES) $(rx_run_SOURCES) $(sh_gencode_SOURCES) \
+	$(sh_run_SOURCES) testsuite/common/alu-tst.c \
 	testsuite/common/bits-gen.c testsuite/common/bits32m0.c \
 	testsuite/common/bits32m31.c testsuite/common/bits64m0.c \
-	testsuite/common/bits64m63.c testsuite/common/fpu-tst.c
+	testsuite/common/bits64m63.c testsuite/common/fpu-tst.c \
+	$(v850_run_SOURCES)
 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
 	ctags-recursive dvi-recursive html-recursive info-recursive \
 	install-data-recursive install-dvi-recursive \
@@ -918,18 +1166,18 @@ srcroot = $(srcdir)/..
 SUBDIRS = @subdirs@ $(SIM_SUBDIRS)
 AM_MAKEFLAGS = SIM_PRIMARY_TARGET=$(SIM_PRIMARY_TARGET)
 pkginclude_HEADERS = $(am__append_1)
-noinst_LIBRARIES = common/libcommon.a $(am__append_3)
+noinst_LIBRARIES = $(SIM_COMMON_LIB) $(am__append_3)
 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 = $(am__append_35)
+DISTCLEANFILES = 
 MOSTLYCLEANFILES = core $(am__append_5) site-sim-config.exp \
-	testrun.log testrun.sum $(am__append_7) $(am__append_10) \
-	$(am__append_13) $(am__append_16) $(am__append_20) \
-	$(am__append_22) $(am__append_24) $(am__append_27) \
-	$(am__append_29) $(am__append_32) $(am__append_34) \
-	$(am__append_37) $(am__append_40) $(am__append_42)
+	testrun.log testrun.sum $(am__append_12) $(am__append_16) \
+	$(am__append_20) $(am__append_24) $(am__append_31) \
+	$(am__append_36) $(am__append_39) $(am__append_43) \
+	$(am__append_46) $(am__append_50) $(am__append_56) \
+	$(am__append_61) $(am__append_70) $(am__append_73)
 AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS)
 AM_CPPFLAGS = $(INCGNU) -I$(srcroot)/include -I../bfd -I.. \
 	$(SIM_HW_CFLAGS) $(SIM_INLINE) -I$(srcdir)/common \
@@ -939,14 +1187,15 @@ AM_CPPFLAGS_FOR_BUILD = -I$(srcroot)/include $(SIM_HW_CFLAGS) \
 COMPILE_FOR_BUILD = $(CC_FOR_BUILD) $(AM_CPPFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
 LINK_FOR_BUILD = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@
 SIM_ALL_RECURSIVE_DEPS = common/libcommon.a $(am__append_2) \
-	$(am__append_6) $(am__append_8) $(am__append_12) \
-	$(am__append_14) $(am__append_19) $(am__append_21) \
-	$(am__append_23) $(am__append_25) $(am__append_28) \
-	$(am__append_30) $(am__append_33) $(am__append_36) \
-	$(am__append_38) $(am__append_41)
+	$(am__append_11) $(am__append_14) $(am__append_19) \
+	$(am__append_22) $(am__append_30) $(am__append_35) \
+	$(am__append_38) $(am__append_41) $(am__append_45) \
+	$(am__append_48) $(am__append_55) $(am__append_60) \
+	$(am__append_68) $(am__append_72)
 SIM_INSTALL_DATA_LOCAL_DEPS = 
-SIM_INSTALL_EXEC_LOCAL_DEPS = $(am__append_17)
-SIM_UNINSTALL_LOCAL_DEPS = $(am__append_18)
+SIM_INSTALL_EXEC_LOCAL_DEPS = $(am__append_26)
+SIM_UNINSTALL_LOCAL_DEPS = $(am__append_27)
+SIM_COMMON_LIB = common/libcommon.a
 common_libcommon_a_SOURCES = \
 	common/callback.c \
 	common/portability.c \
@@ -958,6 +1207,17 @@ common_libcommon_a_SOURCES = \
 	common/target-newlib-syscall.c \
 	common/version.c
 
+LIBIBERTY_LIB = ../libiberty/libiberty.a
+BFD_LIB = ../bfd/libbfd.la
+OPCODES_LIB = ../opcodes/libopcodes.la
+SIM_COMMON_LIBS = \
+	$(SIM_COMMON_LIB) \
+	$(BFD_LIB) \
+	$(OPCODES_LIB) \
+	$(LIBIBERTY_LIB) \
+	$(LIBGNU) \
+	$(LIBGNU_EXTRA_LIBS)
+
 
 # igen leaks memory, and therefore makes AddressSanitizer unhappy.  Disable
 # leak detection while running it.
@@ -1022,8 +1282,38 @@ testsuite_common_CPPFLAGS = \
 	-I$(srcroot)/include \
 	-I../bfd
 
+@SIM_ENABLE_ARCH_aarch64_TRUE@aarch64_run_SOURCES = 
+@SIM_ENABLE_ARCH_aarch64_TRUE@aarch64_run_LDADD = \
+@SIM_ENABLE_ARCH_aarch64_TRUE@	aarch64/nrun.o \
+@SIM_ENABLE_ARCH_aarch64_TRUE@	aarch64/libsim.a \
+@SIM_ENABLE_ARCH_aarch64_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_arm_TRUE@arm_run_SOURCES = 
+@SIM_ENABLE_ARCH_arm_TRUE@arm_run_LDADD = \
+@SIM_ENABLE_ARCH_arm_TRUE@	arm/nrun.o \
+@SIM_ENABLE_ARCH_arm_TRUE@	arm/libsim.a \
+@SIM_ENABLE_ARCH_arm_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_arm_TRUE@armdocdir = $(docdir)/arm
 @SIM_ENABLE_ARCH_arm_TRUE@armdoc_DATA = arm/README
+@SIM_ENABLE_ARCH_avr_TRUE@avr_run_SOURCES = 
+@SIM_ENABLE_ARCH_avr_TRUE@avr_run_LDADD = \
+@SIM_ENABLE_ARCH_avr_TRUE@	avr/nrun.o \
+@SIM_ENABLE_ARCH_avr_TRUE@	avr/libsim.a \
+@SIM_ENABLE_ARCH_avr_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_bfin_TRUE@bfin_run_SOURCES = 
+@SIM_ENABLE_ARCH_bfin_TRUE@bfin_run_LDADD = \
+@SIM_ENABLE_ARCH_bfin_TRUE@	bfin/nrun.o \
+@SIM_ENABLE_ARCH_bfin_TRUE@	bfin/libsim.a \
+@SIM_ENABLE_ARCH_bfin_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_bpf_TRUE@bpf_run_SOURCES = 
+@SIM_ENABLE_ARCH_bpf_TRUE@bpf_run_LDADD = \
+@SIM_ENABLE_ARCH_bpf_TRUE@	bpf/nrun.o \
+@SIM_ENABLE_ARCH_bpf_TRUE@	bpf/libsim.a \
+@SIM_ENABLE_ARCH_bpf_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_bpf_TRUE@bpf_BUILD_OUTPUTS = \
 @SIM_ENABLE_ARCH_bpf_TRUE@	bpf/eng-le.h \
 @SIM_ENABLE_ARCH_bpf_TRUE@	bpf/mloop-le.c \
@@ -1032,6 +1322,12 @@ testsuite_common_CPPFLAGS = \
 @SIM_ENABLE_ARCH_bpf_TRUE@	bpf/mloop-be.c \
 @SIM_ENABLE_ARCH_bpf_TRUE@	bpf/stamp-mloop-be
 
+@SIM_ENABLE_ARCH_cr16_TRUE@cr16_run_SOURCES = 
+@SIM_ENABLE_ARCH_cr16_TRUE@cr16_run_LDADD = \
+@SIM_ENABLE_ARCH_cr16_TRUE@	cr16/nrun.o \
+@SIM_ENABLE_ARCH_cr16_TRUE@	cr16/libsim.a \
+@SIM_ENABLE_ARCH_cr16_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_cr16_TRUE@cr16_BUILD_OUTPUTS = \
 @SIM_ENABLE_ARCH_cr16_TRUE@	cr16/gencode$(EXEEXT) \
 @SIM_ENABLE_ARCH_cr16_TRUE@	cr16/simops.h \
@@ -1039,6 +1335,12 @@ testsuite_common_CPPFLAGS = \
 
 @SIM_ENABLE_ARCH_cr16_TRUE@cr16_gencode_SOURCES = cr16/gencode.c
 @SIM_ENABLE_ARCH_cr16_TRUE@cr16_gencode_LDADD = cr16/cr16-opc.o
+@SIM_ENABLE_ARCH_cris_TRUE@cris_run_SOURCES = 
+@SIM_ENABLE_ARCH_cris_TRUE@cris_run_LDADD = \
+@SIM_ENABLE_ARCH_cris_TRUE@	cris/nrun.o \
+@SIM_ENABLE_ARCH_cris_TRUE@	cris/libsim.a \
+@SIM_ENABLE_ARCH_cris_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_cris_TRUE@cris_rvdummy_SOURCES = cris/rvdummy.c
 @SIM_ENABLE_ARCH_cris_TRUE@cris_rvdummy_LDADD = $(LIBIBERTY_LIB)
 @SIM_ENABLE_ARCH_cris_TRUE@cris_BUILD_OUTPUTS = \
@@ -1049,6 +1351,12 @@ testsuite_common_CPPFLAGS = \
 @SIM_ENABLE_ARCH_cris_TRUE@	cris/mloopv32f.c \
 @SIM_ENABLE_ARCH_cris_TRUE@	cris/stamp-mloop-v32f
 
+@SIM_ENABLE_ARCH_d10v_TRUE@d10v_run_SOURCES = 
+@SIM_ENABLE_ARCH_d10v_TRUE@d10v_run_LDADD = \
+@SIM_ENABLE_ARCH_d10v_TRUE@	d10v/nrun.o \
+@SIM_ENABLE_ARCH_d10v_TRUE@	d10v/libsim.a \
+@SIM_ENABLE_ARCH_d10v_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_d10v_TRUE@d10v_BUILD_OUTPUTS = \
 @SIM_ENABLE_ARCH_d10v_TRUE@	d10v/gencode$(EXEEXT) \
 @SIM_ENABLE_ARCH_d10v_TRUE@	d10v/simops.h \
@@ -1056,8 +1364,26 @@ testsuite_common_CPPFLAGS = \
 
 @SIM_ENABLE_ARCH_d10v_TRUE@d10v_gencode_SOURCES = d10v/gencode.c
 @SIM_ENABLE_ARCH_d10v_TRUE@d10v_gencode_LDADD = d10v/d10v-opc.o
+@SIM_ENABLE_ARCH_erc32_TRUE@erc32_run_SOURCES = 
+@SIM_ENABLE_ARCH_erc32_TRUE@erc32_run_LDADD = \
+@SIM_ENABLE_ARCH_erc32_TRUE@	erc32/sis.o \
+@SIM_ENABLE_ARCH_erc32_TRUE@	erc32/libsim.a \
+@SIM_ENABLE_ARCH_erc32_TRUE@	$(SIM_COMMON_LIBS) $(READLINE_LIB) $(TERMCAP_LIB)
+
 @SIM_ENABLE_ARCH_erc32_TRUE@erc32docdir = $(docdir)/erc32
 @SIM_ENABLE_ARCH_erc32_TRUE@erc32doc_DATA = erc32/README.erc32 erc32/README.gdb erc32/README.sis
+@SIM_ENABLE_ARCH_examples_TRUE@example_synacor_run_SOURCES = 
+@SIM_ENABLE_ARCH_examples_TRUE@example_synacor_run_LDADD = \
+@SIM_ENABLE_ARCH_examples_TRUE@	example-synacor/nrun.o \
+@SIM_ENABLE_ARCH_examples_TRUE@	example-synacor/libsim.a \
+@SIM_ENABLE_ARCH_examples_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_frv_TRUE@frv_run_SOURCES = 
+@SIM_ENABLE_ARCH_frv_TRUE@frv_run_LDADD = \
+@SIM_ENABLE_ARCH_frv_TRUE@	frv/nrun.o \
+@SIM_ENABLE_ARCH_frv_TRUE@	frv/libsim.a \
+@SIM_ENABLE_ARCH_frv_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_frv_TRUE@frvdocdir = $(docdir)/frv
 @SIM_ENABLE_ARCH_frv_TRUE@frvdoc_DATA = frv/README
 @SIM_ENABLE_ARCH_frv_TRUE@frv_BUILD_OUTPUTS = \
@@ -1065,16 +1391,46 @@ testsuite_common_CPPFLAGS = \
 @SIM_ENABLE_ARCH_frv_TRUE@	frv/mloop.c \
 @SIM_ENABLE_ARCH_frv_TRUE@	frv/stamp-mloop
 
+@SIM_ENABLE_ARCH_ft32_TRUE@ft32_run_SOURCES = 
+@SIM_ENABLE_ARCH_ft32_TRUE@ft32_run_LDADD = \
+@SIM_ENABLE_ARCH_ft32_TRUE@	ft32/nrun.o \
+@SIM_ENABLE_ARCH_ft32_TRUE@	ft32/libsim.a \
+@SIM_ENABLE_ARCH_ft32_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_h8300_TRUE@h8300_run_SOURCES = 
+@SIM_ENABLE_ARCH_h8300_TRUE@h8300_run_LDADD = \
+@SIM_ENABLE_ARCH_h8300_TRUE@	h8300/nrun.o \
+@SIM_ENABLE_ARCH_h8300_TRUE@	h8300/libsim.a \
+@SIM_ENABLE_ARCH_h8300_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_iq2000_TRUE@iq2000_run_SOURCES = 
+@SIM_ENABLE_ARCH_iq2000_TRUE@iq2000_run_LDADD = \
+@SIM_ENABLE_ARCH_iq2000_TRUE@	iq2000/nrun.o \
+@SIM_ENABLE_ARCH_iq2000_TRUE@	iq2000/libsim.a \
+@SIM_ENABLE_ARCH_iq2000_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_iq2000_TRUE@iq2000_BUILD_OUTPUTS = \
 @SIM_ENABLE_ARCH_iq2000_TRUE@	iq2000/eng.h \
 @SIM_ENABLE_ARCH_iq2000_TRUE@	iq2000/mloop.c \
 @SIM_ENABLE_ARCH_iq2000_TRUE@	iq2000/stamp-mloop
 
+@SIM_ENABLE_ARCH_lm32_TRUE@lm32_run_SOURCES = 
+@SIM_ENABLE_ARCH_lm32_TRUE@lm32_run_LDADD = \
+@SIM_ENABLE_ARCH_lm32_TRUE@	lm32/nrun.o \
+@SIM_ENABLE_ARCH_lm32_TRUE@	lm32/libsim.a \
+@SIM_ENABLE_ARCH_lm32_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_lm32_TRUE@lm32_BUILD_OUTPUTS = \
 @SIM_ENABLE_ARCH_lm32_TRUE@	lm32/eng.h \
 @SIM_ENABLE_ARCH_lm32_TRUE@	lm32/mloop.c \
 @SIM_ENABLE_ARCH_lm32_TRUE@	lm32/stamp-mloop
 
+@SIM_ENABLE_ARCH_m32c_TRUE@m32c_run_SOURCES = 
+@SIM_ENABLE_ARCH_m32c_TRUE@m32c_run_LDADD = \
+@SIM_ENABLE_ARCH_m32c_TRUE@	m32c/main.o \
+@SIM_ENABLE_ARCH_m32c_TRUE@	m32c/libsim.a \
+@SIM_ENABLE_ARCH_m32c_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_m32c_TRUE@m32c_BUILD_OUTPUTS = \
 @SIM_ENABLE_ARCH_m32c_TRUE@	m32c/opc2c$(EXEEXT) \
 @SIM_ENABLE_ARCH_m32c_TRUE@	m32c/m32c.c \
@@ -1085,6 +1441,12 @@ testsuite_common_CPPFLAGS = \
 # opc2c leaks memory, and therefore makes AddressSanitizer unhappy.  Disable
 # leak detection while running it.
 @SIM_ENABLE_ARCH_m32c_TRUE@m32c_OPC2C_RUN = ASAN_OPTIONS=detect_leaks=0 m32c/opc2c$(EXEEXT)
+@SIM_ENABLE_ARCH_m32r_TRUE@m32r_run_SOURCES = 
+@SIM_ENABLE_ARCH_m32r_TRUE@m32r_run_LDADD = \
+@SIM_ENABLE_ARCH_m32r_TRUE@	m32r/nrun.o \
+@SIM_ENABLE_ARCH_m32r_TRUE@	m32r/libsim.a \
+@SIM_ENABLE_ARCH_m32r_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_m32r_TRUE@m32r_BUILD_OUTPUTS = \
 @SIM_ENABLE_ARCH_m32r_TRUE@	m32r/eng.h \
 @SIM_ENABLE_ARCH_m32r_TRUE@	m32r/mloop.c \
@@ -1096,12 +1458,42 @@ testsuite_common_CPPFLAGS = \
 @SIM_ENABLE_ARCH_m32r_TRUE@	m32r/mloop2.c \
 @SIM_ENABLE_ARCH_m32r_TRUE@	m32r/stamp-mloop-2
 
+@SIM_ENABLE_ARCH_m68hc11_TRUE@m68hc11_run_SOURCES = 
+@SIM_ENABLE_ARCH_m68hc11_TRUE@m68hc11_run_LDADD = \
+@SIM_ENABLE_ARCH_m68hc11_TRUE@	m68hc11/nrun.o \
+@SIM_ENABLE_ARCH_m68hc11_TRUE@	m68hc11/libsim.a \
+@SIM_ENABLE_ARCH_m68hc11_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_m68hc11_TRUE@m68hc11_BUILD_OUTPUTS = \
 @SIM_ENABLE_ARCH_m68hc11_TRUE@	m68hc11/gencode$(EXEEXT) \
 @SIM_ENABLE_ARCH_m68hc11_TRUE@	m68hc11/m68hc11int.c \
 @SIM_ENABLE_ARCH_m68hc11_TRUE@	m68hc11/m68hc12int.c
 
 @SIM_ENABLE_ARCH_m68hc11_TRUE@m68hc11_gencode_SOURCES = m68hc11/gencode.c
+@SIM_ENABLE_ARCH_mcore_TRUE@mcore_run_SOURCES = 
+@SIM_ENABLE_ARCH_mcore_TRUE@mcore_run_LDADD = \
+@SIM_ENABLE_ARCH_mcore_TRUE@	mcore/nrun.o \
+@SIM_ENABLE_ARCH_mcore_TRUE@	mcore/libsim.a \
+@SIM_ENABLE_ARCH_mcore_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_microblaze_TRUE@microblaze_run_SOURCES = 
+@SIM_ENABLE_ARCH_microblaze_TRUE@microblaze_run_LDADD = \
+@SIM_ENABLE_ARCH_microblaze_TRUE@	microblaze/nrun.o \
+@SIM_ENABLE_ARCH_microblaze_TRUE@	microblaze/libsim.a \
+@SIM_ENABLE_ARCH_microblaze_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_mips_TRUE@mips_run_SOURCES = 
+@SIM_ENABLE_ARCH_mips_TRUE@mips_run_LDADD = \
+@SIM_ENABLE_ARCH_mips_TRUE@	mips/nrun.o \
+@SIM_ENABLE_ARCH_mips_TRUE@	mips/libsim.a \
+@SIM_ENABLE_ARCH_mips_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_mn10300_TRUE@mn10300_run_SOURCES = 
+@SIM_ENABLE_ARCH_mn10300_TRUE@mn10300_run_LDADD = \
+@SIM_ENABLE_ARCH_mn10300_TRUE@	mn10300/nrun.o \
+@SIM_ENABLE_ARCH_mn10300_TRUE@	mn10300/libsim.a \
+@SIM_ENABLE_ARCH_mn10300_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_mn10300_TRUE@mn10300_BUILT_SRC_FROM_IGEN = \
 @SIM_ENABLE_ARCH_mn10300_TRUE@	mn10300/icache.h \
 @SIM_ENABLE_ARCH_mn10300_TRUE@	mn10300/icache.c \
@@ -1127,8 +1519,26 @@ testsuite_common_CPPFLAGS = \
 @SIM_ENABLE_ARCH_mn10300_TRUE@mn10300_IGEN_INSN = $(srcdir)/mn10300/mn10300.igen
 @SIM_ENABLE_ARCH_mn10300_TRUE@mn10300_IGEN_INSN_INC = mn10300/am33.igen mn10300/am33-2.igen
 @SIM_ENABLE_ARCH_mn10300_TRUE@mn10300_IGEN_DC = $(srcdir)/mn10300/mn10300.dc
+@SIM_ENABLE_ARCH_moxie_TRUE@moxie_run_SOURCES = 
+@SIM_ENABLE_ARCH_moxie_TRUE@moxie_run_LDADD = \
+@SIM_ENABLE_ARCH_moxie_TRUE@	moxie/nrun.o \
+@SIM_ENABLE_ARCH_moxie_TRUE@	moxie/libsim.a \
+@SIM_ENABLE_ARCH_moxie_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_moxie_TRUE@dtbdir = $(datadir)/gdb/dtb
 @SIM_ENABLE_ARCH_moxie_TRUE@dtb_DATA = moxie/moxie-gdb.dtb
+@SIM_ENABLE_ARCH_msp430_TRUE@msp430_run_SOURCES = 
+@SIM_ENABLE_ARCH_msp430_TRUE@msp430_run_LDADD = \
+@SIM_ENABLE_ARCH_msp430_TRUE@	msp430/nrun.o \
+@SIM_ENABLE_ARCH_msp430_TRUE@	msp430/libsim.a \
+@SIM_ENABLE_ARCH_msp430_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_or1k_TRUE@or1k_run_SOURCES = 
+@SIM_ENABLE_ARCH_or1k_TRUE@or1k_run_LDADD = \
+@SIM_ENABLE_ARCH_or1k_TRUE@	or1k/nrun.o \
+@SIM_ENABLE_ARCH_or1k_TRUE@	or1k/libsim.a \
+@SIM_ENABLE_ARCH_or1k_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_or1k_TRUE@or1kdocdir = $(docdir)/or1k
 @SIM_ENABLE_ARCH_or1k_TRUE@or1kdoc_DATA = or1k/README
 @SIM_ENABLE_ARCH_or1k_TRUE@or1k_BUILD_OUTPUTS = \
@@ -1136,10 +1546,46 @@ testsuite_common_CPPFLAGS = \
 @SIM_ENABLE_ARCH_or1k_TRUE@	or1k/mloop.c \
 @SIM_ENABLE_ARCH_or1k_TRUE@	or1k/stamp-mloop
 
+@SIM_ENABLE_ARCH_ppc_TRUE@ppc_run_SOURCES = 
+@SIM_ENABLE_ARCH_ppc_TRUE@ppc_run_LDADD = \
+@SIM_ENABLE_ARCH_ppc_TRUE@	ppc/main.o \
+@SIM_ENABLE_ARCH_ppc_TRUE@	ppc/libsim.a \
+@SIM_ENABLE_ARCH_ppc_TRUE@	$(SIM_COMMON_LIBS)
+
 @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@pru_run_SOURCES = 
+@SIM_ENABLE_ARCH_pru_TRUE@pru_run_LDADD = \
+@SIM_ENABLE_ARCH_pru_TRUE@	pru/nrun.o \
+@SIM_ENABLE_ARCH_pru_TRUE@	pru/libsim.a \
+@SIM_ENABLE_ARCH_pru_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_riscv_TRUE@riscv_run_SOURCES = 
+@SIM_ENABLE_ARCH_riscv_TRUE@riscv_run_LDADD = \
+@SIM_ENABLE_ARCH_riscv_TRUE@	riscv/nrun.o \
+@SIM_ENABLE_ARCH_riscv_TRUE@	riscv/libsim.a \
+@SIM_ENABLE_ARCH_riscv_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_rl78_TRUE@rl78_run_SOURCES = 
+@SIM_ENABLE_ARCH_rl78_TRUE@rl78_run_LDADD = \
+@SIM_ENABLE_ARCH_rl78_TRUE@	rl78/main.o \
+@SIM_ENABLE_ARCH_rl78_TRUE@	rl78/libsim.a \
+@SIM_ENABLE_ARCH_rl78_TRUE@	$(SIM_COMMON_LIBS)
+
+@SIM_ENABLE_ARCH_rx_TRUE@rx_run_SOURCES = 
+@SIM_ENABLE_ARCH_rx_TRUE@rx_run_LDADD = \
+@SIM_ENABLE_ARCH_rx_TRUE@	rx/main.o \
+@SIM_ENABLE_ARCH_rx_TRUE@	rx/libsim.a \
+@SIM_ENABLE_ARCH_rx_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_rx_TRUE@rxdocdir = $(docdir)/rx
 @SIM_ENABLE_ARCH_rx_TRUE@rxdoc_DATA = rx/README.txt
+@SIM_ENABLE_ARCH_sh_TRUE@sh_run_SOURCES = 
+@SIM_ENABLE_ARCH_sh_TRUE@sh_run_LDADD = \
+@SIM_ENABLE_ARCH_sh_TRUE@	sh/nrun.o \
+@SIM_ENABLE_ARCH_sh_TRUE@	sh/libsim.a \
+@SIM_ENABLE_ARCH_sh_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_sh_TRUE@sh_BUILD_OUTPUTS = \
 @SIM_ENABLE_ARCH_sh_TRUE@	sh/gencode$(EXEEXT) \
 @SIM_ENABLE_ARCH_sh_TRUE@	sh/code.c \
@@ -1147,6 +1593,12 @@ testsuite_common_CPPFLAGS = \
 @SIM_ENABLE_ARCH_sh_TRUE@	sh/table.c
 
 @SIM_ENABLE_ARCH_sh_TRUE@sh_gencode_SOURCES = sh/gencode.c
+@SIM_ENABLE_ARCH_v850_TRUE@v850_run_SOURCES = 
+@SIM_ENABLE_ARCH_v850_TRUE@v850_run_LDADD = \
+@SIM_ENABLE_ARCH_v850_TRUE@	v850/nrun.o \
+@SIM_ENABLE_ARCH_v850_TRUE@	v850/libsim.a \
+@SIM_ENABLE_ARCH_v850_TRUE@	$(SIM_COMMON_LIBS)
+
 @SIM_ENABLE_ARCH_v850_TRUE@v850_BUILT_SRC_FROM_IGEN = \
 @SIM_ENABLE_ARCH_v850_TRUE@	v850/icache.h \
 @SIM_ENABLE_ARCH_v850_TRUE@	v850/icache.c \
@@ -1178,7 +1630,7 @@ all: config.h
 .SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
 am--refresh: Makefile
 	@:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/common/local.mk $(srcdir)/igen/local.mk $(srcdir)/testsuite/local.mk $(srcdir)/testsuite/common/local.mk $(srcdir)/arm/local.mk $(srcdir)/bpf/local.mk $(srcdir)/cr16/local.mk $(srcdir)/cris/local.mk $(srcdir)/d10v/local.mk $(srcdir)/erc32/local.mk $(srcdir)/frv/local.mk $(srcdir)/iq2000/local.mk $(srcdir)/lm32/local.mk $(srcdir)/m32c/local.mk $(srcdir)/m32r/local.mk $(srcdir)/m68hc11/local.mk $(srcdir)/mn10300/local.mk $(srcdir)/moxie/local.mk $(srcdir)/or1k/local.mk $(srcdir)/ppc/local.mk $(srcdir)/rx/local.mk $(srcdir)/sh/local.mk $(srcdir)/v850/local.mk $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/common/local.mk $(srcdir)/igen/local.mk $(srcdir)/testsuite/local.mk $(srcdir)/testsuite/common/local.mk $(srcdir)/aarch64/local.mk $(srcdir)/arm/local.mk $(srcdir)/avr/local.mk $(srcdir)/bfin/local.mk $(srcdir)/bpf/local.mk $(srcdir)/cr16/local.mk $(srcdir)/cris/local.mk $(srcdir)/d10v/local.mk $(srcdir)/erc32/local.mk $(srcdir)/example-synacor/local.mk $(srcdir)/frv/local.mk $(srcdir)/ft32/local.mk $(srcdir)/h8300/local.mk $(srcdir)/iq2000/local.mk $(srcdir)/lm32/local.mk $(srcdir)/m32c/local.mk $(srcdir)/m32r/local.mk $(srcdir)/m68hc11/local.mk $(srcdir)/mcore/local.mk $(srcdir)/microblaze/local.mk $(srcdir)/mips/local.mk $(srcdir)/mn10300/local.mk $(srcdir)/moxie/local.mk $(srcdir)/msp430/local.mk $(srcdir)/or1k/local.mk $(srcdir)/ppc/local.mk $(srcdir)/pru/local.mk $(srcdir)/riscv/local.mk $(srcdir)/rl78/local.mk $(srcdir)/rx/local.mk $(srcdir)/sh/local.mk $(srcdir)/v850/local.mk $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -1200,7 +1652,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
 	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
 	esac;
-$(srcdir)/common/local.mk $(srcdir)/igen/local.mk $(srcdir)/testsuite/local.mk $(srcdir)/testsuite/common/local.mk $(srcdir)/arm/local.mk $(srcdir)/bpf/local.mk $(srcdir)/cr16/local.mk $(srcdir)/cris/local.mk $(srcdir)/d10v/local.mk $(srcdir)/erc32/local.mk $(srcdir)/frv/local.mk $(srcdir)/iq2000/local.mk $(srcdir)/lm32/local.mk $(srcdir)/m32c/local.mk $(srcdir)/m32r/local.mk $(srcdir)/m68hc11/local.mk $(srcdir)/mn10300/local.mk $(srcdir)/moxie/local.mk $(srcdir)/or1k/local.mk $(srcdir)/ppc/local.mk $(srcdir)/rx/local.mk $(srcdir)/sh/local.mk $(srcdir)/v850/local.mk $(am__empty):
+$(srcdir)/common/local.mk $(srcdir)/igen/local.mk $(srcdir)/testsuite/local.mk $(srcdir)/testsuite/common/local.mk $(srcdir)/aarch64/local.mk $(srcdir)/arm/local.mk $(srcdir)/avr/local.mk $(srcdir)/bfin/local.mk $(srcdir)/bpf/local.mk $(srcdir)/cr16/local.mk $(srcdir)/cris/local.mk $(srcdir)/d10v/local.mk $(srcdir)/erc32/local.mk $(srcdir)/example-synacor/local.mk $(srcdir)/frv/local.mk $(srcdir)/ft32/local.mk $(srcdir)/h8300/local.mk $(srcdir)/iq2000/local.mk $(srcdir)/lm32/local.mk $(srcdir)/m32c/local.mk $(srcdir)/m32r/local.mk $(srcdir)/m68hc11/local.mk $(srcdir)/mcore/local.mk $(srcdir)/microblaze/local.mk $(srcdir)/mips/local.mk $(srcdir)/mn10300/local.mk $(srcdir)/moxie/local.mk $(srcdir)/msp430/local.mk $(srcdir)/or1k/local.mk $(srcdir)/ppc/local.mk $(srcdir)/pru/local.mk $(srcdir)/riscv/local.mk $(srcdir)/rl78/local.mk $(srcdir)/rx/local.mk $(srcdir)/sh/local.mk $(srcdir)/v850/local.mk $(am__empty):
 
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	$(SHELL) ./config.status --recheck
@@ -1414,6 +1866,50 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+aarch64/$(am__dirstamp):
+	@$(MKDIR_P) aarch64
+	@: > aarch64/$(am__dirstamp)
+
+aarch64/run$(EXEEXT): $(aarch64_run_OBJECTS) $(aarch64_run_DEPENDENCIES) $(EXTRA_aarch64_run_DEPENDENCIES) aarch64/$(am__dirstamp)
+	@rm -f aarch64/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(aarch64_run_OBJECTS) $(aarch64_run_LDADD) $(LIBS)
+arm/$(am__dirstamp):
+	@$(MKDIR_P) arm
+	@: > arm/$(am__dirstamp)
+
+arm/run$(EXEEXT): $(arm_run_OBJECTS) $(arm_run_DEPENDENCIES) $(EXTRA_arm_run_DEPENDENCIES) arm/$(am__dirstamp)
+	@rm -f arm/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(arm_run_OBJECTS) $(arm_run_LDADD) $(LIBS)
+avr/$(am__dirstamp):
+	@$(MKDIR_P) avr
+	@: > avr/$(am__dirstamp)
+
+avr/run$(EXEEXT): $(avr_run_OBJECTS) $(avr_run_DEPENDENCIES) $(EXTRA_avr_run_DEPENDENCIES) avr/$(am__dirstamp)
+	@rm -f avr/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(avr_run_OBJECTS) $(avr_run_LDADD) $(LIBS)
+bfin/$(am__dirstamp):
+	@$(MKDIR_P) bfin
+	@: > bfin/$(am__dirstamp)
+
+bfin/run$(EXEEXT): $(bfin_run_OBJECTS) $(bfin_run_DEPENDENCIES) $(EXTRA_bfin_run_DEPENDENCIES) bfin/$(am__dirstamp)
+	@rm -f bfin/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(bfin_run_OBJECTS) $(bfin_run_LDADD) $(LIBS)
+bpf/$(am__dirstamp):
+	@$(MKDIR_P) bpf
+	@: > bpf/$(am__dirstamp)
+
+bpf/run$(EXEEXT): $(bpf_run_OBJECTS) $(bpf_run_DEPENDENCIES) $(EXTRA_bpf_run_DEPENDENCIES) bpf/$(am__dirstamp)
+	@rm -f bpf/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(bpf_run_OBJECTS) $(bpf_run_LDADD) $(LIBS)
 cr16/$(am__dirstamp):
 	@$(MKDIR_P) cr16
 	@: > cr16/$(am__dirstamp)
@@ -1426,9 +1922,17 @@ cr16/gencode.$(OBJEXT): cr16/$(am__dirstamp) \
 @SIM_ENABLE_ARCH_cr16_FALSE@cr16/gencode$(EXEEXT): $(cr16_gencode_OBJECTS) $(cr16_gencode_DEPENDENCIES) $(EXTRA_cr16_gencode_DEPENDENCIES) cr16/$(am__dirstamp)
 @SIM_ENABLE_ARCH_cr16_FALSE@	@rm -f cr16/gencode$(EXEEXT)
 @SIM_ENABLE_ARCH_cr16_FALSE@	$(AM_V_CCLD)$(LINK) $(cr16_gencode_OBJECTS) $(cr16_gencode_LDADD) $(LIBS)
+
+cr16/run$(EXEEXT): $(cr16_run_OBJECTS) $(cr16_run_DEPENDENCIES) $(EXTRA_cr16_run_DEPENDENCIES) cr16/$(am__dirstamp)
+	@rm -f cr16/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(cr16_run_OBJECTS) $(cr16_run_LDADD) $(LIBS)
 cris/$(am__dirstamp):
 	@$(MKDIR_P) cris
 	@: > cris/$(am__dirstamp)
+
+cris/run$(EXEEXT): $(cris_run_OBJECTS) $(cris_run_DEPENDENCIES) $(EXTRA_cris_run_DEPENDENCIES) cris/$(am__dirstamp)
+	@rm -f cris/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(cris_run_OBJECTS) $(cris_run_LDADD) $(LIBS)
 cris/$(DEPDIR)/$(am__dirstamp):
 	@$(MKDIR_P) cris/$(DEPDIR)
 	@: > cris/$(DEPDIR)/$(am__dirstamp)
@@ -1451,6 +1955,54 @@ d10v/gencode.$(OBJEXT): d10v/$(am__dirstamp) \
 @SIM_ENABLE_ARCH_d10v_FALSE@	@rm -f d10v/gencode$(EXEEXT)
 @SIM_ENABLE_ARCH_d10v_FALSE@	$(AM_V_CCLD)$(LINK) $(d10v_gencode_OBJECTS) $(d10v_gencode_LDADD) $(LIBS)
 
+d10v/run$(EXEEXT): $(d10v_run_OBJECTS) $(d10v_run_DEPENDENCIES) $(EXTRA_d10v_run_DEPENDENCIES) d10v/$(am__dirstamp)
+	@rm -f d10v/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(d10v_run_OBJECTS) $(d10v_run_LDADD) $(LIBS)
+erc32/$(am__dirstamp):
+	@$(MKDIR_P) erc32
+	@: > erc32/$(am__dirstamp)
+
+erc32/run$(EXEEXT): $(erc32_run_OBJECTS) $(erc32_run_DEPENDENCIES) $(EXTRA_erc32_run_DEPENDENCIES) erc32/$(am__dirstamp)
+	@rm -f erc32/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(erc32_run_OBJECTS) $(erc32_run_LDADD) $(LIBS)
+erc32/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) erc32/$(DEPDIR)
+	@: > erc32/$(DEPDIR)/$(am__dirstamp)
+erc32/sis.$(OBJEXT): erc32/$(am__dirstamp) \
+	erc32/$(DEPDIR)/$(am__dirstamp)
+
+@SIM_ENABLE_ARCH_erc32_FALSE@erc32/sis$(EXEEXT): $(erc32_sis_OBJECTS) $(erc32_sis_DEPENDENCIES) $(EXTRA_erc32_sis_DEPENDENCIES) erc32/$(am__dirstamp)
+@SIM_ENABLE_ARCH_erc32_FALSE@	@rm -f erc32/sis$(EXEEXT)
+@SIM_ENABLE_ARCH_erc32_FALSE@	$(AM_V_CCLD)$(LINK) $(erc32_sis_OBJECTS) $(erc32_sis_LDADD) $(LIBS)
+example-synacor/$(am__dirstamp):
+	@$(MKDIR_P) example-synacor
+	@: > example-synacor/$(am__dirstamp)
+
+example-synacor/run$(EXEEXT): $(example_synacor_run_OBJECTS) $(example_synacor_run_DEPENDENCIES) $(EXTRA_example_synacor_run_DEPENDENCIES) example-synacor/$(am__dirstamp)
+	@rm -f example-synacor/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(example_synacor_run_OBJECTS) $(example_synacor_run_LDADD) $(LIBS)
+frv/$(am__dirstamp):
+	@$(MKDIR_P) frv
+	@: > frv/$(am__dirstamp)
+
+frv/run$(EXEEXT): $(frv_run_OBJECTS) $(frv_run_DEPENDENCIES) $(EXTRA_frv_run_DEPENDENCIES) frv/$(am__dirstamp)
+	@rm -f frv/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(frv_run_OBJECTS) $(frv_run_LDADD) $(LIBS)
+ft32/$(am__dirstamp):
+	@$(MKDIR_P) ft32
+	@: > ft32/$(am__dirstamp)
+
+ft32/run$(EXEEXT): $(ft32_run_OBJECTS) $(ft32_run_DEPENDENCIES) $(EXTRA_ft32_run_DEPENDENCIES) ft32/$(am__dirstamp)
+	@rm -f ft32/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ft32_run_OBJECTS) $(ft32_run_LDADD) $(LIBS)
+h8300/$(am__dirstamp):
+	@$(MKDIR_P) h8300
+	@: > h8300/$(am__dirstamp)
+
+h8300/run$(EXEEXT): $(h8300_run_OBJECTS) $(h8300_run_DEPENDENCIES) $(EXTRA_h8300_run_DEPENDENCIES) h8300/$(am__dirstamp)
+	@rm -f h8300/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(h8300_run_OBJECTS) $(h8300_run_LDADD) $(LIBS)
+
 igen/filter$(EXEEXT): $(igen_filter_OBJECTS) $(igen_filter_DEPENDENCIES) $(EXTRA_igen_filter_DEPENDENCIES) igen/$(am__dirstamp)
 	@rm -f igen/filter$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(igen_filter_OBJECTS) $(igen_filter_LDADD) $(LIBS)
@@ -1480,6 +2032,20 @@ igen/ld-insn$(EXEEXT): $(igen_ld_insn_OBJECTS) $(igen_ld_insn_DEPENDENCIES) $(EX
 igen/table$(EXEEXT): $(igen_table_OBJECTS) $(igen_table_DEPENDENCIES) $(EXTRA_igen_table_DEPENDENCIES) igen/$(am__dirstamp)
 	@rm -f igen/table$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(igen_table_OBJECTS) $(igen_table_LDADD) $(LIBS)
+iq2000/$(am__dirstamp):
+	@$(MKDIR_P) iq2000
+	@: > iq2000/$(am__dirstamp)
+
+iq2000/run$(EXEEXT): $(iq2000_run_OBJECTS) $(iq2000_run_DEPENDENCIES) $(EXTRA_iq2000_run_DEPENDENCIES) iq2000/$(am__dirstamp)
+	@rm -f iq2000/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(iq2000_run_OBJECTS) $(iq2000_run_LDADD) $(LIBS)
+lm32/$(am__dirstamp):
+	@$(MKDIR_P) lm32
+	@: > lm32/$(am__dirstamp)
+
+lm32/run$(EXEEXT): $(lm32_run_OBJECTS) $(lm32_run_DEPENDENCIES) $(EXTRA_lm32_run_DEPENDENCIES) lm32/$(am__dirstamp)
+	@rm -f lm32/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(lm32_run_OBJECTS) $(lm32_run_LDADD) $(LIBS)
 m32c/$(am__dirstamp):
 	@$(MKDIR_P) m32c
 	@: > m32c/$(am__dirstamp)
@@ -1492,6 +2058,17 @@ m32c/opc2c.$(OBJEXT): m32c/$(am__dirstamp) \
 @SIM_ENABLE_ARCH_m32c_FALSE@m32c/opc2c$(EXEEXT): $(m32c_opc2c_OBJECTS) $(m32c_opc2c_DEPENDENCIES) $(EXTRA_m32c_opc2c_DEPENDENCIES) m32c/$(am__dirstamp)
 @SIM_ENABLE_ARCH_m32c_FALSE@	@rm -f m32c/opc2c$(EXEEXT)
 @SIM_ENABLE_ARCH_m32c_FALSE@	$(AM_V_CCLD)$(LINK) $(m32c_opc2c_OBJECTS) $(m32c_opc2c_LDADD) $(LIBS)
+
+m32c/run$(EXEEXT): $(m32c_run_OBJECTS) $(m32c_run_DEPENDENCIES) $(EXTRA_m32c_run_DEPENDENCIES) m32c/$(am__dirstamp)
+	@rm -f m32c/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(m32c_run_OBJECTS) $(m32c_run_LDADD) $(LIBS)
+m32r/$(am__dirstamp):
+	@$(MKDIR_P) m32r
+	@: > m32r/$(am__dirstamp)
+
+m32r/run$(EXEEXT): $(m32r_run_OBJECTS) $(m32r_run_DEPENDENCIES) $(EXTRA_m32r_run_DEPENDENCIES) m32r/$(am__dirstamp)
+	@rm -f m32r/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(m32r_run_OBJECTS) $(m32r_run_LDADD) $(LIBS)
 m68hc11/$(am__dirstamp):
 	@$(MKDIR_P) m68hc11
 	@: > m68hc11/$(am__dirstamp)
@@ -1504,6 +2081,102 @@ m68hc11/gencode.$(OBJEXT): m68hc11/$(am__dirstamp) \
 @SIM_ENABLE_ARCH_m68hc11_FALSE@m68hc11/gencode$(EXEEXT): $(m68hc11_gencode_OBJECTS) $(m68hc11_gencode_DEPENDENCIES) $(EXTRA_m68hc11_gencode_DEPENDENCIES) m68hc11/$(am__dirstamp)
 @SIM_ENABLE_ARCH_m68hc11_FALSE@	@rm -f m68hc11/gencode$(EXEEXT)
 @SIM_ENABLE_ARCH_m68hc11_FALSE@	$(AM_V_CCLD)$(LINK) $(m68hc11_gencode_OBJECTS) $(m68hc11_gencode_LDADD) $(LIBS)
+
+m68hc11/run$(EXEEXT): $(m68hc11_run_OBJECTS) $(m68hc11_run_DEPENDENCIES) $(EXTRA_m68hc11_run_DEPENDENCIES) m68hc11/$(am__dirstamp)
+	@rm -f m68hc11/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(m68hc11_run_OBJECTS) $(m68hc11_run_LDADD) $(LIBS)
+mcore/$(am__dirstamp):
+	@$(MKDIR_P) mcore
+	@: > mcore/$(am__dirstamp)
+
+mcore/run$(EXEEXT): $(mcore_run_OBJECTS) $(mcore_run_DEPENDENCIES) $(EXTRA_mcore_run_DEPENDENCIES) mcore/$(am__dirstamp)
+	@rm -f mcore/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mcore_run_OBJECTS) $(mcore_run_LDADD) $(LIBS)
+microblaze/$(am__dirstamp):
+	@$(MKDIR_P) microblaze
+	@: > microblaze/$(am__dirstamp)
+
+microblaze/run$(EXEEXT): $(microblaze_run_OBJECTS) $(microblaze_run_DEPENDENCIES) $(EXTRA_microblaze_run_DEPENDENCIES) microblaze/$(am__dirstamp)
+	@rm -f microblaze/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(microblaze_run_OBJECTS) $(microblaze_run_LDADD) $(LIBS)
+mips/$(am__dirstamp):
+	@$(MKDIR_P) mips
+	@: > mips/$(am__dirstamp)
+
+mips/run$(EXEEXT): $(mips_run_OBJECTS) $(mips_run_DEPENDENCIES) $(EXTRA_mips_run_DEPENDENCIES) mips/$(am__dirstamp)
+	@rm -f mips/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mips_run_OBJECTS) $(mips_run_LDADD) $(LIBS)
+mn10300/$(am__dirstamp):
+	@$(MKDIR_P) mn10300
+	@: > mn10300/$(am__dirstamp)
+
+mn10300/run$(EXEEXT): $(mn10300_run_OBJECTS) $(mn10300_run_DEPENDENCIES) $(EXTRA_mn10300_run_DEPENDENCIES) mn10300/$(am__dirstamp)
+	@rm -f mn10300/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(mn10300_run_OBJECTS) $(mn10300_run_LDADD) $(LIBS)
+moxie/$(am__dirstamp):
+	@$(MKDIR_P) moxie
+	@: > moxie/$(am__dirstamp)
+
+moxie/run$(EXEEXT): $(moxie_run_OBJECTS) $(moxie_run_DEPENDENCIES) $(EXTRA_moxie_run_DEPENDENCIES) moxie/$(am__dirstamp)
+	@rm -f moxie/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(moxie_run_OBJECTS) $(moxie_run_LDADD) $(LIBS)
+msp430/$(am__dirstamp):
+	@$(MKDIR_P) msp430
+	@: > msp430/$(am__dirstamp)
+
+msp430/run$(EXEEXT): $(msp430_run_OBJECTS) $(msp430_run_DEPENDENCIES) $(EXTRA_msp430_run_DEPENDENCIES) msp430/$(am__dirstamp)
+	@rm -f msp430/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(msp430_run_OBJECTS) $(msp430_run_LDADD) $(LIBS)
+or1k/$(am__dirstamp):
+	@$(MKDIR_P) or1k
+	@: > or1k/$(am__dirstamp)
+
+or1k/run$(EXEEXT): $(or1k_run_OBJECTS) $(or1k_run_DEPENDENCIES) $(EXTRA_or1k_run_DEPENDENCIES) or1k/$(am__dirstamp)
+	@rm -f or1k/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(or1k_run_OBJECTS) $(or1k_run_LDADD) $(LIBS)
+ppc/$(am__dirstamp):
+	@$(MKDIR_P) ppc
+	@: > ppc/$(am__dirstamp)
+ppc/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) ppc/$(DEPDIR)
+	@: > ppc/$(DEPDIR)/$(am__dirstamp)
+ppc/psim.$(OBJEXT): ppc/$(am__dirstamp) ppc/$(DEPDIR)/$(am__dirstamp)
+
+@SIM_ENABLE_ARCH_ppc_FALSE@ppc/psim$(EXEEXT): $(ppc_psim_OBJECTS) $(ppc_psim_DEPENDENCIES) $(EXTRA_ppc_psim_DEPENDENCIES) ppc/$(am__dirstamp)
+@SIM_ENABLE_ARCH_ppc_FALSE@	@rm -f ppc/psim$(EXEEXT)
+@SIM_ENABLE_ARCH_ppc_FALSE@	$(AM_V_CCLD)$(LINK) $(ppc_psim_OBJECTS) $(ppc_psim_LDADD) $(LIBS)
+
+ppc/run$(EXEEXT): $(ppc_run_OBJECTS) $(ppc_run_DEPENDENCIES) $(EXTRA_ppc_run_DEPENDENCIES) ppc/$(am__dirstamp)
+	@rm -f ppc/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(ppc_run_OBJECTS) $(ppc_run_LDADD) $(LIBS)
+pru/$(am__dirstamp):
+	@$(MKDIR_P) pru
+	@: > pru/$(am__dirstamp)
+
+pru/run$(EXEEXT): $(pru_run_OBJECTS) $(pru_run_DEPENDENCIES) $(EXTRA_pru_run_DEPENDENCIES) pru/$(am__dirstamp)
+	@rm -f pru/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(pru_run_OBJECTS) $(pru_run_LDADD) $(LIBS)
+riscv/$(am__dirstamp):
+	@$(MKDIR_P) riscv
+	@: > riscv/$(am__dirstamp)
+
+riscv/run$(EXEEXT): $(riscv_run_OBJECTS) $(riscv_run_DEPENDENCIES) $(EXTRA_riscv_run_DEPENDENCIES) riscv/$(am__dirstamp)
+	@rm -f riscv/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(riscv_run_OBJECTS) $(riscv_run_LDADD) $(LIBS)
+rl78/$(am__dirstamp):
+	@$(MKDIR_P) rl78
+	@: > rl78/$(am__dirstamp)
+
+rl78/run$(EXEEXT): $(rl78_run_OBJECTS) $(rl78_run_DEPENDENCIES) $(EXTRA_rl78_run_DEPENDENCIES) rl78/$(am__dirstamp)
+	@rm -f rl78/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rl78_run_OBJECTS) $(rl78_run_LDADD) $(LIBS)
+rx/$(am__dirstamp):
+	@$(MKDIR_P) rx
+	@: > rx/$(am__dirstamp)
+
+rx/run$(EXEEXT): $(rx_run_OBJECTS) $(rx_run_DEPENDENCIES) $(EXTRA_rx_run_DEPENDENCIES) rx/$(am__dirstamp)
+	@rm -f rx/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(rx_run_OBJECTS) $(rx_run_LDADD) $(LIBS)
 sh/$(am__dirstamp):
 	@$(MKDIR_P) sh
 	@: > sh/$(am__dirstamp)
@@ -1515,6 +2188,10 @@ sh/gencode.$(OBJEXT): sh/$(am__dirstamp) sh/$(DEPDIR)/$(am__dirstamp)
 @SIM_ENABLE_ARCH_sh_FALSE@sh/gencode$(EXEEXT): $(sh_gencode_OBJECTS) $(sh_gencode_DEPENDENCIES) $(EXTRA_sh_gencode_DEPENDENCIES) sh/$(am__dirstamp)
 @SIM_ENABLE_ARCH_sh_FALSE@	@rm -f sh/gencode$(EXEEXT)
 @SIM_ENABLE_ARCH_sh_FALSE@	$(AM_V_CCLD)$(LINK) $(sh_gencode_OBJECTS) $(sh_gencode_LDADD) $(LIBS)
+
+sh/run$(EXEEXT): $(sh_run_OBJECTS) $(sh_run_DEPENDENCIES) $(EXTRA_sh_run_DEPENDENCIES) sh/$(am__dirstamp)
+	@rm -f sh/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(sh_run_OBJECTS) $(sh_run_LDADD) $(LIBS)
 testsuite/common/$(am__dirstamp):
 	@$(MKDIR_P) testsuite/common
 	@: > testsuite/common/$(am__dirstamp)
@@ -1537,6 +2214,13 @@ testsuite/common/bits64m63.$(OBJEXT):  \
 	testsuite/common/$(DEPDIR)/$(am__dirstamp)
 testsuite/common/fpu-tst.$(OBJEXT): testsuite/common/$(am__dirstamp) \
 	testsuite/common/$(DEPDIR)/$(am__dirstamp)
+v850/$(am__dirstamp):
+	@$(MKDIR_P) v850
+	@: > v850/$(am__dirstamp)
+
+v850/run$(EXEEXT): $(v850_run_OBJECTS) $(v850_run_DEPENDENCIES) $(EXTRA_v850_run_DEPENDENCIES) v850/$(am__dirstamp)
+	@rm -f v850/run$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(v850_run_OBJECTS) $(v850_run_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -1544,9 +2228,11 @@ mostlyclean-compile:
 	-rm -f cr16/*.$(OBJEXT)
 	-rm -f cris/*.$(OBJEXT)
 	-rm -f d10v/*.$(OBJEXT)
+	-rm -f erc32/*.$(OBJEXT)
 	-rm -f igen/*.$(OBJEXT)
 	-rm -f m32c/*.$(OBJEXT)
 	-rm -f m68hc11/*.$(OBJEXT)
+	-rm -f ppc/*.$(OBJEXT)
 	-rm -f sh/*.$(OBJEXT)
 	-rm -f testsuite/common/*.$(OBJEXT)
 
@@ -1565,6 +2251,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@cr16/$(DEPDIR)/gencode.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@cris/$(DEPDIR)/rvdummy.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@d10v/$(DEPDIR)/gencode.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@erc32/$(DEPDIR)/sis.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@igen/$(DEPDIR)/filter.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@igen/$(DEPDIR)/filter_host.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@igen/$(DEPDIR)/gen-engine.Po@am__quote@
@@ -1584,6 +2271,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@igen/$(DEPDIR)/table.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@m32c/$(DEPDIR)/opc2c.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@m68hc11/$(DEPDIR)/gencode.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ppc/$(DEPDIR)/psim.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@sh/$(DEPDIR)/gencode.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@testsuite/common/$(DEPDIR)/alu-tst.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@testsuite/common/$(DEPDIR)/bits-gen.Po@am__quote@
@@ -1622,14 +2310,40 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
+	-rm -rf aarch64/.libs aarch64/_libs
+	-rm -rf arm/.libs arm/_libs
+	-rm -rf avr/.libs avr/_libs
+	-rm -rf bfin/.libs bfin/_libs
+	-rm -rf bpf/.libs bpf/_libs
 	-rm -rf cr16/.libs cr16/_libs
 	-rm -rf cris/.libs cris/_libs
 	-rm -rf d10v/.libs d10v/_libs
+	-rm -rf erc32/.libs erc32/_libs
+	-rm -rf example-synacor/.libs example-synacor/_libs
+	-rm -rf frv/.libs frv/_libs
+	-rm -rf ft32/.libs ft32/_libs
+	-rm -rf h8300/.libs h8300/_libs
 	-rm -rf igen/.libs igen/_libs
+	-rm -rf iq2000/.libs iq2000/_libs
+	-rm -rf lm32/.libs lm32/_libs
 	-rm -rf m32c/.libs m32c/_libs
+	-rm -rf m32r/.libs m32r/_libs
 	-rm -rf m68hc11/.libs m68hc11/_libs
+	-rm -rf mcore/.libs mcore/_libs
+	-rm -rf microblaze/.libs microblaze/_libs
+	-rm -rf mips/.libs mips/_libs
+	-rm -rf mn10300/.libs mn10300/_libs
+	-rm -rf moxie/.libs moxie/_libs
+	-rm -rf msp430/.libs msp430/_libs
+	-rm -rf or1k/.libs or1k/_libs
+	-rm -rf ppc/.libs ppc/_libs
+	-rm -rf pru/.libs pru/_libs
+	-rm -rf riscv/.libs riscv/_libs
+	-rm -rf rl78/.libs rl78/_libs
+	-rm -rf rx/.libs rx/_libs
 	-rm -rf sh/.libs sh/_libs
 	-rm -rf testsuite/common/.libs testsuite/common/_libs
+	-rm -rf v850/.libs v850/_libs
 
 distclean-libtool:
 	-rm -f libtool config.lt
@@ -2134,7 +2848,7 @@ check-am: all-am
 	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
 	$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU check-TESTS
 check: check-recursive
-all-am: Makefile $(LIBRARIES) $(DATA) $(HEADERS) config.h
+all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) config.h
 installdirs: installdirs-recursive
 installdirs-am:
 	for dir in "$(DESTDIR)$(armdocdir)" "$(DESTDIR)$(dtbdir)" "$(DESTDIR)$(erc32docdir)" "$(DESTDIR)$(frvdocdir)" "$(DESTDIR)$(or1kdocdir)" "$(DESTDIR)$(ppcdocdir)" "$(DESTDIR)$(rxdocdir)" "$(DESTDIR)$(pkgincludedir)"; do \
@@ -2171,6 +2885,11 @@ clean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+	-rm -f aarch64/$(am__dirstamp)
+	-rm -f arm/$(am__dirstamp)
+	-rm -f avr/$(am__dirstamp)
+	-rm -f bfin/$(am__dirstamp)
+	-rm -f bpf/$(am__dirstamp)
 	-rm -f common/$(DEPDIR)/$(am__dirstamp)
 	-rm -f common/$(am__dirstamp)
 	-rm -f cr16/$(DEPDIR)/$(am__dirstamp)
@@ -2179,16 +2898,39 @@ distclean-generic:
 	-rm -f cris/$(am__dirstamp)
 	-rm -f d10v/$(DEPDIR)/$(am__dirstamp)
 	-rm -f d10v/$(am__dirstamp)
+	-rm -f erc32/$(DEPDIR)/$(am__dirstamp)
+	-rm -f erc32/$(am__dirstamp)
+	-rm -f example-synacor/$(am__dirstamp)
+	-rm -f frv/$(am__dirstamp)
+	-rm -f ft32/$(am__dirstamp)
+	-rm -f h8300/$(am__dirstamp)
 	-rm -f igen/$(DEPDIR)/$(am__dirstamp)
 	-rm -f igen/$(am__dirstamp)
+	-rm -f iq2000/$(am__dirstamp)
+	-rm -f lm32/$(am__dirstamp)
 	-rm -f m32c/$(DEPDIR)/$(am__dirstamp)
 	-rm -f m32c/$(am__dirstamp)
+	-rm -f m32r/$(am__dirstamp)
 	-rm -f m68hc11/$(DEPDIR)/$(am__dirstamp)
 	-rm -f m68hc11/$(am__dirstamp)
+	-rm -f mcore/$(am__dirstamp)
+	-rm -f microblaze/$(am__dirstamp)
+	-rm -f mips/$(am__dirstamp)
+	-rm -f mn10300/$(am__dirstamp)
+	-rm -f moxie/$(am__dirstamp)
+	-rm -f msp430/$(am__dirstamp)
+	-rm -f or1k/$(am__dirstamp)
+	-rm -f ppc/$(DEPDIR)/$(am__dirstamp)
+	-rm -f ppc/$(am__dirstamp)
+	-rm -f pru/$(am__dirstamp)
+	-rm -f riscv/$(am__dirstamp)
+	-rm -f rl78/$(am__dirstamp)
+	-rm -f rx/$(am__dirstamp)
 	-rm -f sh/$(DEPDIR)/$(am__dirstamp)
 	-rm -f sh/$(am__dirstamp)
 	-rm -f testsuite/common/$(DEPDIR)/$(am__dirstamp)
 	-rm -f testsuite/common/$(am__dirstamp)
+	-rm -f v850/$(am__dirstamp)
 	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
@@ -2197,11 +2939,11 @@ maintainer-clean-generic:
 clean: clean-recursive
 
 clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
-	clean-noinstLIBRARIES mostlyclean-am
+	clean-noinstLIBRARIES clean-noinstPROGRAMS mostlyclean-am
 
 distclean: distclean-recursive
 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf common/$(DEPDIR) cr16/$(DEPDIR) cris/$(DEPDIR) d10v/$(DEPDIR) igen/$(DEPDIR) m32c/$(DEPDIR) m68hc11/$(DEPDIR) sh/$(DEPDIR) testsuite/common/$(DEPDIR)
+	-rm -rf common/$(DEPDIR) cr16/$(DEPDIR) cris/$(DEPDIR) d10v/$(DEPDIR) erc32/$(DEPDIR) igen/$(DEPDIR) m32c/$(DEPDIR) m68hc11/$(DEPDIR) ppc/$(DEPDIR) sh/$(DEPDIR) testsuite/common/$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-DEJAGNU distclean-compile \
 	distclean-generic distclean-hdr distclean-libtool \
@@ -2252,7 +2994,7 @@ installcheck-am:
 maintainer-clean: maintainer-clean-recursive
 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
 	-rm -rf $(top_srcdir)/autom4te.cache
-	-rm -rf common/$(DEPDIR) cr16/$(DEPDIR) cris/$(DEPDIR) d10v/$(DEPDIR) igen/$(DEPDIR) m32c/$(DEPDIR) m68hc11/$(DEPDIR) sh/$(DEPDIR) testsuite/common/$(DEPDIR)
+	-rm -rf common/$(DEPDIR) cr16/$(DEPDIR) cris/$(DEPDIR) d10v/$(DEPDIR) erc32/$(DEPDIR) igen/$(DEPDIR) m32c/$(DEPDIR) m68hc11/$(DEPDIR) ppc/$(DEPDIR) sh/$(DEPDIR) testsuite/common/$(DEPDIR)
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
@@ -2279,16 +3021,16 @@ uninstall-am: uninstall-armdocDATA uninstall-dtbDATA \
 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
 	am--refresh check check-DEJAGNU check-TESTS check-am clean \
 	clean-checkPROGRAMS clean-cscope clean-generic clean-libtool \
-	clean-noinstLIBRARIES cscope cscopelist-am ctags ctags-am \
-	distclean distclean-DEJAGNU distclean-compile \
-	distclean-generic distclean-hdr distclean-libtool \
-	distclean-tags dvi dvi-am html html-am info info-am install \
-	install-am install-armdocDATA install-data install-data-am \
-	install-data-local install-dtbDATA install-dvi install-dvi-am \
-	install-erc32docDATA install-exec install-exec-am \
-	install-exec-local install-frvdocDATA install-html \
-	install-html-am install-info install-info-am install-man \
-	install-or1kdocDATA install-pdf install-pdf-am \
+	clean-noinstLIBRARIES clean-noinstPROGRAMS cscope \
+	cscopelist-am ctags ctags-am distclean distclean-DEJAGNU \
+	distclean-compile distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags dvi dvi-am html html-am info \
+	info-am install install-am install-armdocDATA install-data \
+	install-data-am install-data-local install-dtbDATA install-dvi \
+	install-dvi-am install-erc32docDATA install-exec \
+	install-exec-am install-exec-local install-frvdocDATA \
+	install-html install-html-am install-info install-info-am \
+	install-man install-or1kdocDATA install-pdf install-pdf-am \
 	install-pkgincludeHEADERS install-ppcdocDATA install-ps \
 	install-ps-am install-rxdocDATA install-strip installcheck \
 	installcheck-am installdirs installdirs-am maintainer-clean \
@@ -2502,6 +3244,12 @@ testsuite/common/bits64m63.c: testsuite/common/bits-gen$(EXEEXT) testsuite/commo
 
 @SIM_ENABLE_ARCH_d10v_TRUE@d10v/table.c: d10v/gencode$(EXEEXT)
 @SIM_ENABLE_ARCH_d10v_TRUE@	$(AM_V_GEN)$< >$@
+
+@SIM_ENABLE_ARCH_erc32_TRUE@erc32/sis$(EXEEXT): erc32/run$(EXEEXT)
+@SIM_ENABLE_ARCH_erc32_TRUE@	$(AM_V_GEN)ln $< $@ 2>/dev/null || $(LN_S) $< $@ 2>/dev/null || cp -p $< $@
+
+@SIM_ENABLE_ARCH_erc32_TRUE@erc32/%.o: erc32/%.c | erc32/libsim.a $(SIM_ALL_RECURSIVE_DEPS)
+@SIM_ENABLE_ARCH_erc32_TRUE@	$(MAKE) -C $(@D) $(@F)
 @SIM_ENABLE_ARCH_erc32_TRUE@sim-%D-install-exec-local: installdirs
 @SIM_ENABLE_ARCH_erc32_TRUE@	$(AM_V_at)$(MKDIR_P) $(DESTDIR)$(bindir)
 @SIM_ENABLE_ARCH_erc32_TRUE@	n=`echo sis | sed '$(program_transform_name)'`; \
@@ -2539,6 +3287,9 @@ testsuite/common/bits64m63.c: testsuite/common/bits-gen$(EXEEXT) testsuite/commo
 @SIM_ENABLE_ARCH_lm32_TRUE@	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change lm32/mloop.cin lm32/mloop.c
 @SIM_ENABLE_ARCH_lm32_TRUE@	$(AM_V_at)touch $@
 
+@SIM_ENABLE_ARCH_m32c_TRUE@m32c/%.o: m32c/%.c | m32c/libsim.a $(SIM_ALL_RECURSIVE_DEPS)
+@SIM_ENABLE_ARCH_m32c_TRUE@	$(MAKE) -C $(@D) $(@F)
+
 # These rules are copied from automake, but tweaked to use FOR_BUILD variables.
 @SIM_ENABLE_ARCH_m32c_TRUE@m32c/opc2c$(EXEEXT): $(m32c_opc2c_OBJECTS) $(m32c_opc2c_DEPENDENCIES) m32c/$(am__dirstamp)
 @SIM_ENABLE_ARCH_m32c_TRUE@	$(AM_V_CCLD)$(LINK_FOR_BUILD) $(m32c_opc2c_OBJECTS) $(m32c_opc2c_LDADD)
@@ -2654,12 +3405,6 @@ 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) \
@@ -2670,6 +3415,18 @@ testsuite/common/bits64m63.c: testsuite/common/bits-gen$(EXEEXT) testsuite/commo
 @SIM_ENABLE_ARCH_or1k_TRUE@	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change or1k/mloop.cin or1k/mloop.c
 @SIM_ENABLE_ARCH_or1k_TRUE@	$(AM_V_at)touch $@
 
+@SIM_ENABLE_ARCH_ppc_TRUE@ppc/psim$(EXEEXT): ppc/run$(EXEEXT)
+@SIM_ENABLE_ARCH_ppc_TRUE@	$(AM_V_GEN)ln $< $@ 2>/dev/null || $(LN_S) $< $@ 2>/dev/null || cp -p $< $@
+
+@SIM_ENABLE_ARCH_ppc_TRUE@ppc/%.o: ppc/%.c | ppc/libsim.a $(SIM_ALL_RECURSIVE_DEPS)
+@SIM_ENABLE_ARCH_ppc_TRUE@	$(MAKE) -C $(@D) $(@F)
+
+@SIM_ENABLE_ARCH_rl78_TRUE@rl78/%.o: rl78/%.c | rl78/libsim.a $(SIM_ALL_RECURSIVE_DEPS)
+@SIM_ENABLE_ARCH_rl78_TRUE@	$(MAKE) -C $(@D) $(@F)
+
+@SIM_ENABLE_ARCH_rx_TRUE@rx/%.o: rx/%.c | rx/libsim.a $(SIM_ALL_RECURSIVE_DEPS)
+@SIM_ENABLE_ARCH_rx_TRUE@	$(MAKE) -C $(@D) $(@F)
+
 # These rules are copied from automake, but tweaked to use FOR_BUILD variables.
 @SIM_ENABLE_ARCH_sh_TRUE@sh/gencode$(EXEEXT): $(sh_gencode_OBJECTS) $(sh_gencode_DEPENDENCIES) sh/$(am__dirstamp)
 @SIM_ENABLE_ARCH_sh_TRUE@	$(AM_V_CCLD)$(LINK_FOR_BUILD) $(sh_gencode_OBJECTS) $(sh_gencode_LDADD)
@@ -2728,6 +3485,12 @@ testsuite/common/bits64m63.c: testsuite/common/bits-gen$(EXEEXT) testsuite/commo
 @SIM_ENABLE_ARCH_v850_TRUE@	$(AM_V_at)$(SHELL) $(srcroot)/move-if-change v850/tmp-irun.c v850/irun.c
 @SIM_ENABLE_ARCH_v850_TRUE@	$(AM_V_at)touch $@
 
+%/libsim.a: | $(SIM_ALL_RECURSIVE_DEPS)
+	$(MAKE) -C $(@D) $(@F)
+
+%/nrun.o: common/nrun.c | %/libsim.a $(SIM_ALL_RECURSIVE_DEPS)
+	$(MAKE) -C $(@D) $(@F)
+
 all-recursive: $(SIM_ALL_RECURSIVE_DEPS)
 
 install-data-local: installdirs $(SIM_INSTALL_DATA_LOCAL_DEPS)
diff --git a/sim/aarch64/local.mk b/sim/aarch64/local.mk
new file mode 100644
index 00000000000..7e5a53797d2
--- /dev/null
+++ b/sim/aarch64/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 2015-2022 Free Software Foundation, Inc.
+## Contributed by Red Hat.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/arm/local.mk b/sim/arm/local.mk
index 84dfbdfa536..99790c6e4e4 100644
--- a/sim/arm/local.mk
+++ b/sim/arm/local.mk
@@ -1,6 +1,7 @@
 ## See sim/Makefile.am
 ##
 ## Copyright (C) 1995-2022 Free Software Foundation, Inc.
+## Written by Cygnus Support.
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -15,5 +16,13 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%docdir = $(docdir)/%C%
 %C%doc_DATA = %D%/README
diff --git a/sim/avr/local.mk b/sim/avr/local.mk
new file mode 100644
index 00000000000..7da400616a0
--- /dev/null
+++ b/sim/avr/local.mk
@@ -0,0 +1,24 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 2009-2022 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/bfin/local.mk b/sim/bfin/local.mk
new file mode 100644
index 00000000000..f61c917d712
--- /dev/null
+++ b/sim/bfin/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 2005-2022 Free Software Foundation, Inc.
+## Written by Analog Devices, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/bpf/local.mk b/sim/bpf/local.mk
index 9b096baf3ad..b855db35969 100644
--- a/sim/bpf/local.mk
+++ b/sim/bpf/local.mk
@@ -15,6 +15,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%_BUILD_OUTPUTS = \
 	%D%/eng-le.h \
 	%D%/mloop-le.c \
diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in
index 2cdf357d881..8e27795438a 100644
--- a/sim/common/Make-common.in
+++ b/sim/common/Make-common.in
@@ -208,18 +208,13 @@ LINK_FOR_BUILD = $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(LDFLAGS_FOR_BUILD) -o $@
 
 RUNTESTFLAGS =
 
-all: libsim.a run$(EXEEXT)
+all: libsim.a $(SIM_RUN_OBJS)
 
 libsim.a: $(LIB_OBJS)
 	$(SILENCE) rm -f libsim.a
 	$(ECHO_AR) $(AR) $(AR_FLAGS) libsim.a $(LIB_OBJS)
 	$(ECHO_RANLIB) $(RANLIB) libsim.a
 
-run$(EXEEXT): $(SIM_RUN_OBJS) libsim.a $(LIBDEPS)
-	$(ECHO_CCLD) $(LIBTOOL) $(AM_V_lt) --tag=CC --mode=link \
-	  $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o run$(EXEEXT) \
-	  $(SIM_RUN_OBJS) libsim.a $(EXTRA_LIBS)
-
 #
 # Dependency tracking.  Most of this is conditional on GNU Make being
 # found by configure; if GNU Make is not found, we fall back to a
diff --git a/sim/common/local.mk b/sim/common/local.mk
index 5afae9141e5..c45af29d8c7 100644
--- a/sim/common/local.mk
+++ b/sim/common/local.mk
@@ -30,7 +30,8 @@ SIM_ALL_RECURSIVE_DEPS += \
 
 ## 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 += %D%/libcommon.a
+SIM_COMMON_LIB = %D%/libcommon.a
+noinst_LIBRARIES += $(SIM_COMMON_LIB)
 %C%_libcommon_a_SOURCES = \
 	%D%/callback.c \
 	%D%/portability.c \
@@ -50,3 +51,19 @@ noinst_LIBRARIES += %D%/libcommon.a
 
 CLEANFILES += \
 	%D%/version.c %D%/version.c-stamp
+
+##
+## For subdirs.
+##
+
+LIBIBERTY_LIB = ../libiberty/libiberty.a
+BFD_LIB = ../bfd/libbfd.la
+OPCODES_LIB = ../opcodes/libopcodes.la
+
+SIM_COMMON_LIBS = \
+	$(SIM_COMMON_LIB) \
+	$(BFD_LIB) \
+	$(OPCODES_LIB) \
+	$(LIBIBERTY_LIB) \
+	$(LIBGNU) \
+	$(LIBGNU_EXTRA_LIBS)
diff --git a/sim/configure b/sim/configure
index 00639e805d4..d8b734e59eb 100755
--- a/sim/configure
+++ b/sim/configure
@@ -655,6 +655,8 @@ ENABLE_SIM_FALSE
 ENABLE_SIM_TRUE
 SIM_ENABLE_IGEN_FALSE
 SIM_ENABLE_IGEN_TRUE
+SIM_ENABLE_ARCH_examples_FALSE
+SIM_ENABLE_ARCH_examples_TRUE
 CC_FOR_TARGET_EXAMPLE_SYNACOR
 LD_FOR_TARGET_EXAMPLE_SYNACOR
 AS_FOR_TARGET_EXAMPLE_SYNACOR
@@ -12426,7 +12428,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12429 "configure"
+#line 12431 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12532,7 +12534,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 12535 "configure"
+#line 12537 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -15680,6 +15682,14 @@ as_fn_append SIM_TOOLCHAIN_VARS " AS_FOR_TARGET_EXAMPLE_SYNACOR LD_FOR_TARGET_EX
 
 
   fi
+   if test "${enable_example_sims}" = "yes"; then
+  SIM_ENABLE_ARCH_examples_TRUE=
+  SIM_ENABLE_ARCH_examples_FALSE='#'
+else
+  SIM_ENABLE_ARCH_examples_TRUE='#'
+  SIM_ENABLE_ARCH_examples_FALSE=
+fi
+
 fi
  if test "$sim_igen" = "yes"; then
   SIM_ENABLE_IGEN_TRUE=
@@ -16487,6 +16497,10 @@ if test -z "${SIM_ENABLE_ARCH_v850_TRUE}" && test -z "${SIM_ENABLE_ARCH_v850_FAL
   as_fn_error $? "conditional \"SIM_ENABLE_ARCH_v850\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${SIM_ENABLE_ARCH_examples_TRUE}" && test -z "${SIM_ENABLE_ARCH_examples_FALSE}"; then
+  as_fn_error $? "conditional \"SIM_ENABLE_ARCH_examples\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${SIM_ENABLE_IGEN_TRUE}" && test -z "${SIM_ENABLE_IGEN_FALSE}"; then
   as_fn_error $? "conditional \"SIM_ENABLE_IGEN\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/sim/configure.ac b/sim/configure.ac
index 30479aebc49..135aa2198cf 100644
--- a/sim/configure.ac
+++ b/sim/configure.ac
@@ -156,6 +156,7 @@ if test "${enable_sim}" != no; then
     SIM_AC_TOOLCHAIN_FOR_TARGET(example-synacor)
     SIM_BUILD_TARGET([example-synacor])
   fi
+  AM_CONDITIONAL([SIM_ENABLE_ARCH_examples], [test "${enable_example_sims}" = "yes"])
 fi
 AM_CONDITIONAL([SIM_ENABLE_IGEN], [test "$sim_igen" = "yes"])
 AM_CONDITIONAL([ENABLE_SIM], [test -n "$SIM_SUBDIRS"])
diff --git a/sim/cr16/local.mk b/sim/cr16/local.mk
index f84a618889c..a318bd4199b 100644
--- a/sim/cr16/local.mk
+++ b/sim/cr16/local.mk
@@ -16,6 +16,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%_BUILD_OUTPUTS = \
 	%D%/gencode$(EXEEXT) \
 	%D%/simops.h \
diff --git a/sim/cris/local.mk b/sim/cris/local.mk
index 62a3f8e80ab..0a3423c3389 100644
--- a/sim/cris/local.mk
+++ b/sim/cris/local.mk
@@ -16,6 +16,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 ## rvdummy is just used for testing -- it runs on the same host as `run`.
 ## It does nothing if --enable-sim-hardware isn't active.
 %C%_rvdummy_SOURCES = %D%/rvdummy.c
diff --git a/sim/d10v/local.mk b/sim/d10v/local.mk
index f72bc145c90..4edd2e90d28 100644
--- a/sim/d10v/local.mk
+++ b/sim/d10v/local.mk
@@ -16,6 +16,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%_BUILD_OUTPUTS = \
 	%D%/gencode$(EXEEXT) \
 	%D%/simops.h \
diff --git a/sim/erc32/Makefile.in b/sim/erc32/Makefile.in
index eef81d9dcd6..6675fceccf3 100644
--- a/sim/erc32/Makefile.in
+++ b/sim/erc32/Makefile.in
@@ -24,7 +24,6 @@ SIM_OBJS = exec.o erc32.o func.o help.o float.o interf.o
 SIM_RUN_OBJS = sis.o
 SIM_EXTRA_CFLAGS = $(READLINE_CFLAGS)
 SIM_EXTRA_LIBS = $(READLINE_LIB) $(TERMCAP_LIB)
-SIM_EXTRA_CLEAN = clean-sis
 
 # UARTS run at about 115200 baud (simulator time). Add -DFAST_UART to
 # CFLAGS if faster (infinite) UART speed is desired. Might affect the
@@ -32,11 +31,3 @@ SIM_EXTRA_CLEAN = clean-sis
 SIM_EXTRA_CFLAGS += -DFAST_UART -I$(srcroot)
 
 ## COMMON_POST_CONFIG_FRAG
-
-all: sis$(EXEEXT)
-sis$(EXEEXT): run$(EXEEXT)
-	$(SILENCE) rm -f $@
-	$(ECHO_GEN) ln $< $@ 2>/dev/null || $(LN_S) $< $@ 2>/dev/null || cp -p $< $@
-
-clean-sis:
-	rm -f sis
diff --git a/sim/erc32/local.mk b/sim/erc32/local.mk
index 36baeb96614..d73bc5b4bfe 100644
--- a/sim/erc32/local.mk
+++ b/sim/erc32/local.mk
@@ -1,6 +1,8 @@
 ## See sim/Makefile.am
 ##
 ## Copyright (C) 1993-2022 Free Software Foundation, Inc.
+## Written by Cygnus Support
+## Modified by J.Gaisler ESA/ESTEC
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -15,6 +17,21 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/sis.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS) $(READLINE_LIB) $(TERMCAP_LIB)
+
+%D%/sis$(EXEEXT): %D%/run$(EXEEXT)
+	$(AM_V_GEN)ln $< $@ 2>/dev/null || $(LN_S) $< $@ 2>/dev/null || cp -p $< $@
+
+## Helper targets for running make from the top-level due to run's sis.o.
+%D%/%.o: %D%/%.c | %D%/libsim.a $(SIM_ALL_RECURSIVE_DEPS)
+	$(MAKE) -C $(@D) $(@F)
+
+noinst_PROGRAMS += %D%/run %D%/sis
+
 %C%docdir = $(docdir)/%C%
 %C%doc_DATA = %D%/README.erc32 %D%/README.gdb %D%/README.sis
 
diff --git a/sim/example-synacor/local.mk b/sim/example-synacor/local.mk
new file mode 100644
index 00000000000..20cdc53215e
--- /dev/null
+++ b/sim/example-synacor/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 2005-2022 Free Software Foundation, Inc.
+## Written by Mike Frysinger <vapier@gentoo.org>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/frv/local.mk b/sim/frv/local.mk
index 687fb4a8666..e08a488a91d 100644
--- a/sim/frv/local.mk
+++ b/sim/frv/local.mk
@@ -16,6 +16,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%docdir = $(docdir)/%C%
 %C%doc_DATA = %D%/README
 
diff --git a/sim/ft32/local.mk b/sim/ft32/local.mk
new file mode 100644
index 00000000000..cacf9f2b7c2
--- /dev/null
+++ b/sim/ft32/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 2008-2022 Free Software Foundation, Inc.
+## Written by FTDI
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/h8300/local.mk b/sim/h8300/local.mk
new file mode 100644
index 00000000000..ae29197283a
--- /dev/null
+++ b/sim/h8300/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 1990-2022 Free Software Foundation, Inc.
+## Written by Cygnus Support.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/iq2000/local.mk b/sim/iq2000/local.mk
index cf9195a4cff..b9a4ada3bad 100644
--- a/sim/iq2000/local.mk
+++ b/sim/iq2000/local.mk
@@ -16,6 +16,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%_BUILD_OUTPUTS = \
 	%D%/eng.h \
 	%D%/mloop.c \
diff --git a/sim/lm32/local.mk b/sim/lm32/local.mk
index bb6c7ad248a..7add85ac98b 100644
--- a/sim/lm32/local.mk
+++ b/sim/lm32/local.mk
@@ -16,6 +16,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%_BUILD_OUTPUTS = \
 	%D%/eng.h \
 	%D%/mloop.c \
diff --git a/sim/m32c/local.mk b/sim/m32c/local.mk
index 3ec947ad037..efdf110e630 100644
--- a/sim/m32c/local.mk
+++ b/sim/m32c/local.mk
@@ -16,6 +16,18 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/main.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
+## Helper targets for running make from the top-level due to run's main.o.
+%D%/%.o: %D%/%.c | %D%/libsim.a $(SIM_ALL_RECURSIVE_DEPS)
+	$(MAKE) -C $(@D) $(@F)
+
 %C%_BUILD_OUTPUTS = \
 	%D%/opc2c$(EXEEXT) \
 	%D%/m32c.c \
diff --git a/sim/m32r/local.mk b/sim/m32r/local.mk
index 4158c8b57db..51d9d3413d6 100644
--- a/sim/m32r/local.mk
+++ b/sim/m32r/local.mk
@@ -16,6 +16,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%_BUILD_OUTPUTS = \
 	%D%/eng.h \
 	%D%/mloop.c \
diff --git a/sim/m68hc11/local.mk b/sim/m68hc11/local.mk
index 838a089516e..3cc980bf036 100644
--- a/sim/m68hc11/local.mk
+++ b/sim/m68hc11/local.mk
@@ -16,6 +16,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%_BUILD_OUTPUTS = \
 	%D%/gencode$(EXEEXT) \
 	%D%/m68hc11int.c \
diff --git a/sim/mcore/local.mk b/sim/mcore/local.mk
new file mode 100644
index 00000000000..01a66bd1d68
--- /dev/null
+++ b/sim/mcore/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 1990-2022 Free Software Foundation, Inc.
+## Written by Cygnus Solutions.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/microblaze/local.mk b/sim/microblaze/local.mk
new file mode 100644
index 00000000000..01a66bd1d68
--- /dev/null
+++ b/sim/microblaze/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 1990-2022 Free Software Foundation, Inc.
+## Written by Cygnus Solutions.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/mips/local.mk b/sim/mips/local.mk
new file mode 100644
index 00000000000..8e266e77b36
--- /dev/null
+++ b/sim/mips/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 1995-2022 Free Software Foundation, Inc.
+## Written by Cygnus Support.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/mn10300/local.mk b/sim/mn10300/local.mk
index a51813c275c..08a3d4dedc4 100644
--- a/sim/mn10300/local.mk
+++ b/sim/mn10300/local.mk
@@ -16,6 +16,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%_BUILT_SRC_FROM_IGEN = \
 	%D%/icache.h \
 	%D%/icache.c \
diff --git a/sim/moxie/local.mk b/sim/moxie/local.mk
index 600d2640bec..3b5c4c25c26 100644
--- a/sim/moxie/local.mk
+++ b/sim/moxie/local.mk
@@ -1,6 +1,7 @@
 ## See sim/Makefile.am
 ##
-## Copyright (C) 1993-2022 Free Software Foundation, Inc.
+## Copyright (C) 2008-2022 Free Software Foundation, Inc.
+## Written by Anthony Green
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -15,6 +16,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 dtbdir = $(datadir)/gdb/dtb
 
 dtb_DATA = %D%/moxie-gdb.dtb
@@ -30,10 +39,3 @@ 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)
diff --git a/sim/msp430/local.mk b/sim/msp430/local.mk
new file mode 100644
index 00000000000..58557e17f02
--- /dev/null
+++ b/sim/msp430/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 2012-2022 Free Software Foundation, Inc.
+## Written by Red Hat Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/or1k/local.mk b/sim/or1k/local.mk
index 122f7830571..cea1c6e2895 100644
--- a/sim/or1k/local.mk
+++ b/sim/or1k/local.mk
@@ -15,6 +15,14 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
+
 %C%docdir = $(docdir)/%C%
 %C%doc_DATA = %D%/README
 
diff --git a/sim/ppc/Makefile.in b/sim/ppc/Makefile.in
index d7b9df0819f..cb1a25b4b5e 100644
--- a/sim/ppc/Makefile.in
+++ b/sim/ppc/Makefile.in
@@ -37,10 +37,6 @@ include ../arch-subdir.mk
 prefix = @prefix@
 exec_prefix = @exec_prefix@
 
-bindir = @bindir@
-libdir = @libdir@
-tooldir = $(libdir)/$(target_alias)
-
 datarootdir = @datarootdir@
 datadir = @datadir@
 mandir = @mandir@
@@ -135,7 +131,7 @@ BFD_LIB		= ../../bfd/libbfd.la
 
 TARGETLIB	= libsim.a
 
-all:	run$(EXEEXT) $(TARGETLIB) $(GDB_OBJ)
+all:	main.o $(TARGETLIB) $(GDB_OBJ)
 
 .c.o:
 	$(ECHO_CC) $(CC) -c $(STD_CFLAGS) $<
@@ -518,14 +514,6 @@ PACKAGE_SRC = pk_disklabel.c
 PACKAGE_OBJ = $(PACKAGE_SRC:.c=.o)
 
 
-psim$(EXEEXT): $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB)
-	$(ECHO_CCLD) $(LIBTOOL) $(AM_V_lt) --tag=CC --mode=link \
-	  $(CC) $(CFLAGS) $(LDFLAGS) -o psim$(EXEEXT) main.o $(TARGETLIB) $(BFD_LIB) $(LIBIBERTY_LIB) $(LIBS)
-
-run$(EXEEXT): psim$(EXEEXT)
-	$(SILENCE) rm -f $@
-	$(ECHO_GEN) ln $< $@ 2>/dev/null || $(LN_S) $< $@ 2>/dev/null || cp -p $< $@
-
 $(TARGETLIB): tmp-igen tmp-dgen tmp-hw tmp-defines $(LIB_OBJ) $(GDB_OBJ)
 	$(ECHO_AR) $(AR) $(AR_FLAGS) $(TARGETLIB) $(LIB_OBJ) $(GDB_OBJ)
 	$(ECHO_RANLIB) $(RANLIB) $(TARGETLIB)
@@ -811,7 +799,7 @@ TAGS: $(BUILT_SRC)
 	etags $(srcdir)/*.h $(srcdir)/*.c $(BUILT_SRC)
 
 clean mostlyclean:
-	rm -f tmp-* *.[oasi] core psim$(EXEEXT) run$(EXEEXT) igen dgen $(BUILT_SRC_WO_CONFIG)
+	rm -f tmp-* *.[oasi] core igen dgen $(BUILT_SRC_WO_CONFIG)
 
 distclean realclean: clean
 	rm -f TAGS Makefile config.cache config.status config.h defines.h stamp-h config.log
diff --git a/sim/ppc/local.mk b/sim/ppc/local.mk
index 03e54fbe083..19a8a89ba47 100644
--- a/sim/ppc/local.mk
+++ b/sim/ppc/local.mk
@@ -15,5 +15,20 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/main.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+%D%/psim$(EXEEXT): %D%/run$(EXEEXT)
+	$(AM_V_GEN)ln $< $@ 2>/dev/null || $(LN_S) $< $@ 2>/dev/null || cp -p $< $@
+
+## Helper targets for running make from the top-level due to run's sis.o.
+%D%/%.o: %D%/%.c | %D%/libsim.a $(SIM_ALL_RECURSIVE_DEPS)
+	$(MAKE) -C $(@D) $(@F)
+
+noinst_PROGRAMS += %D%/run %D%/psim
+
 %C%docdir = $(docdir)/%C%
 %C%doc_DATA = %D%/BUGS %D%/INSTALL %D%/README %D%/RUN
diff --git a/sim/pru/local.mk b/sim/pru/local.mk
new file mode 100644
index 00000000000..f83a6d9c700
--- /dev/null
+++ b/sim/pru/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C) 1990-2022 Free Software Foundation, Inc.
+## Written by Dimitar Dimitrov <dimitar@dinux.eu>
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+%C%_run_SOURCES =
+%C%_run_LDADD = \
+	%D%/nrun.o \
+	%D%/libsim.a \
+	$(SIM_COMMON_LIBS)
+
+noinst_PROGRAMS += %D%/run
diff --git a/sim/riscv/local.mk b/sim/riscv/local.mk
new file mode 100644
index 00000000000..11fdceca332
--- /dev/null
+++ b/sim/riscv/local.mk
@@ -0,0 +1,25 @@
+## See sim/Makefile.am
+##
+## Copyright (C[...]

[diff truncated at 100000 bytes]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-11-05 13:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-05 13:02 [binutils-gdb] sim: run: move linking into top-level Michael Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).