diff options
-rwxr-xr-x | sim/configure | 4 | ||||
-rw-r--r-- | sim/mips/Makefile.in | 54 | ||||
-rw-r--r-- | sim/mips/acinclude.m4 | 2 |
3 files changed, 26 insertions, 34 deletions
diff --git a/sim/configure b/sim/configure index 1045892..093142f 100755 --- a/sim/configure +++ b/sim/configure @@ -16601,6 +16601,10 @@ __EOF__ else SIM_MIPS_MULTI_SRC=doesnt-exist.c + SIM_MIPS_IGEN_ITABLE_FLAGS='$(SIM_MIPS_IGEN_FLAGS)' + if test "x$SIM_MIPS_GEN" = x"M16"; then : + as_fn_append SIM_MIPS_IGEN_ITABLE_FLAGS ' $(SIM_MIPS_M16_FLAGS)' +fi fi SIM_MIPS_IGEN_FLAGS="-F ${sim_mips_igen_filter} ${sim_mips_igen_machine}" diff --git a/sim/mips/Makefile.in b/sim/mips/Makefile.in index 3861e4e..4cd5964 100644 --- a/sim/mips/Makefile.in +++ b/sim/mips/Makefile.in @@ -92,7 +92,7 @@ IGEN_INCLUDE=\ # NB: Since these can be built by a number of generators, care # must be taken to ensure that they are only dependant on # one of those generators. -BUILT_SRC_FROM_GEN = \ +BUILT_SRC_FROM_IGEN_ITABLE = \ itable.h \ itable.c \ @@ -100,8 +100,24 @@ SIM_IGEN_ALL = tmp-igen SIM_M16_ALL = tmp-m16 SIM_MULTI_ALL = tmp-multi -$(BUILT_SRC_FROM_GEN): $(SIM_$(SIM_MIPS_GEN)_ALL) +$(BUILT_SRC_FROM_IGEN_ITABLE): tmp-itable +tmp-itable: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) + $(ECHO_IGEN) $(IGEN_RUN) \ + $(IGEN_TRACE) \ + -I $(srcdir) \ + -Werror \ + -Wnodiscard \ + -Wnowidth \ + -Wnounimplemented \ + $(SIM_MIPS_IGEN_ITABLE_FLAGS) \ + -G gen-direct-access \ + -G gen-zero-r0 \ + -i $(IGEN_INSN) \ + -n itable.h -ht itable.h \ + -n itable.c -t itable.c \ + # + $(SILENCE) touch $@ BUILT_SRC_FROM_IGEN = \ @@ -145,8 +161,6 @@ tmp-igen: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) -n model.c -m model.c \ -n support.h -hf support.h \ -n support.c -f support.c \ - -n itable.h -ht itable.h \ - -n itable.c -t itable.c \ -n engine.h -he engine.h \ -n engine.c -e engine.c \ -n irun.c -r irun.c @@ -228,25 +242,12 @@ tmp-m16: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) -n m32_support.h -hf m32_support.h \ -n m32_support.c -f m32_support.c \ # - $(ECHO_IGEN) $(IGEN_RUN) \ - $(IGEN_TRACE) \ - -I $(srcdir) \ - -Werror \ - -Wnodiscard \ - -Wnowidth \ - $(SIM_MIPS_IGEN_FLAGS) $(SIM_MIPS_M16_FLAGS) \ - -G gen-direct-access \ - -G gen-zero-r0 \ - -i $(IGEN_INSN) \ - -n itable.h -ht itable.h \ - -n itable.c -t itable.c \ - # $(SILENCE) touch $@ BUILT_SRC_FROM_MULTI = $(SIM_MIPS_MULTI_SRC) $(BUILT_SRC_FROM_MULTI): tmp-multi -tmp-multi: tmp-mach-multi tmp-itable-multi tmp-run-multi +tmp-multi: tmp-mach-multi tmp-run-multi tmp-mach-multi: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) for t in $(SIM_MIPS_MULTI_IGEN_CONFIGS); do \ p=`echo $${t} | sed -e 's/:.*//'` ; \ @@ -292,21 +293,6 @@ tmp-mach-multi: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) || exit; \ done $(SILENCE) touch $@ -tmp-itable-multi: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) - $(ECHO_IGEN) $(IGEN_RUN) \ - $(IGEN_TRACE) \ - -I $(srcdir) \ - -Werror \ - -Wnodiscard \ - -Wnowidth \ - $(SIM_MIPS_IGEN_ITABLE_FLAGS) \ - -G gen-direct-access \ - -G gen-zero-r0 \ - -i $(IGEN_INSN) \ - -n itable.h -ht itable.h \ - -n itable.c -t itable.c \ - # - $(SILENCE) touch $@ tmp-run-multi: $(srcdir)/m16run.c $(srcdir)/micromipsrun.c for t in $(SIM_MIPS_MULTI_IGEN_CONFIGS); do \ case $${t} in \ @@ -347,7 +333,7 @@ tmp-run-multi: $(srcdir)/m16run.c $(srcdir)/micromipsrun.c $(SILENCE) touch $@ clean-extra: - rm -f $(BUILT_SRC_FROM_GEN) + rm -f $(BUILT_SRC_FROM_IGEN_ITABLE) rm -f $(BUILT_SRC_FROM_IGEN) rm -f $(BUILT_SRC_FROM_M16) rm -f $(BUILT_SRC_FROM_MULTI) diff --git a/sim/mips/acinclude.m4 b/sim/mips/acinclude.m4 index 116dc1e..452dfc8 100644 --- a/sim/mips/acinclude.m4 +++ b/sim/mips/acinclude.m4 @@ -321,6 +321,8 @@ __EOF__ ], [dnl dnl For clean-extra target. SIM_MIPS_MULTI_SRC=doesnt-exist.c + SIM_MIPS_IGEN_ITABLE_FLAGS='$(SIM_MIPS_IGEN_FLAGS)' + AS_VAR_IF([SIM_MIPS_GEN], ["M16"], [AS_VAR_APPEND([SIM_MIPS_IGEN_ITABLE_FLAGS], [' $(SIM_MIPS_M16_FLAGS)'])]) ]) SIM_MIPS_IGEN_FLAGS="-F ${sim_mips_igen_filter} ${sim_mips_igen_machine}" SIM_MIPS_M16_FLAGS="-F ${sim_mips_m16_filter} ${sim_mips_m16_machine}" |