From: Joyce Janczyn Date: Tue, 24 Mar 1998 20:19:55 +0000 (+0000) Subject: Add support for building simulator based on common simulator framework. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5abdc305913541e574688b9dd1dbbe53213093bd;p=binutils-gdb.git Add support for building simulator based on common simulator framework. Separate out files which get compiled depending on --enable-sim-common configuration. --- diff --git a/sim/mn10300/Makefile.in b/sim/mn10300/Makefile.in index 34c12bf0975..d6cc594d377 100644 --- a/sim/mn10300/Makefile.in +++ b/sim/mn10300/Makefile.in @@ -18,16 +18,47 @@ ## COMMON_PRE_CONFIG_FRAG -SIM_OBJS = interp.o table.o simops.o sim-load.o +WITHOUT_COMMON_OBJS = table.o simops.o sim-load.o +WITHOUT_COMMON_INTERP_DEP = table.c +WITH_COMMON_OBJS = \ + itable.o semantics.o idecode.o icache.o engine.o irun.o support.o \ + $(SIM_NEW_COMMON_OBJS) \ + op_utils.o \ + sim-engine.o \ + sim-hload.o \ + sim-hrw.o \ + sim-resume.o \ + sim-reason.o \ + sim-stop.o +WITH_COMMON_INTERP_DEP = + +MN10300_OBJS = $(@mn10300_common@_COMMON_OBJS) +MN10300_INTERP_DEP = $(@mn10300_common@_COMMON_INTERP_DEP) + +SIM_OBJS = $(MN10300_OBJS) interp.o + +# List of main object files for `run'. +WITHOUT_COMMON_RUN_OBJS = run.o +WITH_COMMON_RUN_OBJS = nrun.o +SIM_RUN_OBJS = $(@mn10300_common@_COMMON_RUN_OBJS) + SIM_EXTRA_CLEAN = clean-extra -# This selects the m32r newlib/libgloss syscall definitions. +# Select mn10300 support in nltvals.def. NL_TARGET = -DNL_TARGET_mn10300 INCLUDE = mn10300_sim.h $(srcdir)/../../include/callback.h +# List of extra flags to always pass to $(CC). +SIM_EXTRA_CFLAGS = @sim_gen@ + ## COMMON_POST_CONFIG_FRAG + +# +# Old generator (default) +# + simops.h: gencode ./gencode -h >$@ @@ -43,9 +74,83 @@ m10300-opc.o: $(srcdir)/../../opcodes/m10300-opc.c gencode: gencode.o m10300-opc.o $(CC_FOR_BUILD) $(BUILD_CFLAGS) -o gencode gencode.o m10300-opc.o $(BUILD_LIB) -clean-extra: - rm -f table.c simops.h gencode -interp.o: interp.c table.c $(INCLUDE) + + +BUILT_SRC_FROM_IGEN = \ + icache.h \ + icache.c \ + idecode.h \ + idecode.c \ + semantics.h \ + semantics.c \ + model.h \ + model.c \ + support.h \ + support.c \ + itable.h \ + itable.c \ + engine.h \ + engine.c \ + irun.c +$(BUILT_SRC_FROM_IGEN): tmp-igen + + +.PHONY: clean-igen +clean-igen: + rm -f $(BUILT_SRC_FROM_IGEN) + rm -f tmp-igen tmp-insns + +../igen/igen: + cd ../igen && $(MAKE) + +IGEN_TRACE= # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries +IGEN_INSN=$(srcdir)/mn10300.igen +IGEN_DC=$(srcdir)/mn10300.dc +tmp-igen: $(IGEN_INSN) $(IGEN_DC) ../igen/igen + cd ../igen && $(MAKE) + ../igen/igen \ + $(IGEN_TRACE) \ + -G gen-direct-access \ + -i $(IGEN_INSN) \ + -o $(IGEN_DC) \ + -x \ + -n icache.h -hc tmp-icache.h \ + -n icache.c -c tmp-icache.c \ + -n semantics.h -hs tmp-semantics.h \ + -n semantics.c -s tmp-semantics.c \ + -n idecode.h -hd tmp-idecode.h \ + -n idecode.c -d tmp-idecode.c \ + -n model.h -hm tmp-model.h \ + -n model.c -m tmp-model.c \ + -n support.h -hf tmp-support.h \ + -n support.c -f tmp-support.c \ + -n itable.h -ht tmp-itable.h \ + -n itable.c -t tmp-itable.c \ + -n engine.h -he tmp-engine.h \ + -n engine.c -e tmp-engine.c \ + -n irun.c -r tmp-irun.c + $(srcdir)/../../move-if-change tmp-icache.h icache.h + $(srcdir)/../../move-if-change tmp-icache.c icache.c + $(srcdir)/../../move-if-change tmp-idecode.h idecode.h + $(srcdir)/../../move-if-change tmp-idecode.c idecode.c + $(srcdir)/../../move-if-change tmp-semantics.h semantics.h + $(srcdir)/../../move-if-change tmp-semantics.c semantics.c + $(srcdir)/../../move-if-change tmp-model.h model.h + $(srcdir)/../../move-if-change tmp-model.c model.c + $(srcdir)/../../move-if-change tmp-support.h support.h + $(srcdir)/../../move-if-change tmp-support.c support.c + $(srcdir)/../../move-if-change tmp-itable.h itable.h + $(srcdir)/../../move-if-change tmp-itable.c itable.c + $(srcdir)/../../move-if-change tmp-engine.h engine.h + $(srcdir)/../../move-if-change tmp-engine.c engine.c + $(srcdir)/../../move-if-change tmp-irun.c irun.c + touch tmp-igen + + +interp.o: interp.c $(MN10300_INTERP_DEP) $(INCLUDE) simops.o: simops.c $(INCLUDE) table.o: table.c + +clean-extra: clean-igen + rm -f table.c simops.h gencode