# Makefile template for Configure for the MIPS simulator. # Written by Cygnus Support. ## COMMON_PRE_CONFIG_FRAG ## COMMON_PRE_CONFIG_FRAG srcdir = /home/ubuntu/data/data/method/gdb/gdb-13.2/sim/mips VPATH = $(srccom) srccom = $(srcdir)/../common srcroot = $(srcdir)/../.. srcsim = $(srcdir)/.. config.status = config.status #config.status = ../config.status # Settings from top-level configure. include ../arch-subdir.mk include $(srcroot)/gdb/silent-rules.mk ifeq ($(V),0) ECHO_STAMP = @echo " GEN " ECHO_IGEN = @echo " IGEN $( tmp-hw.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-hw.h hw-config.h $(SILENCE) touch $@ test-hw-events: $(srccom)/hw-events.c libsim.a $(ECHO_CCLD) $(LIBTOOL) $(AM_V_lt) --tag=CC --mode=link \ $(CC) $(ALL_CFLAGS) -DMAIN -o test-hw-events$(EXEEXT) \ $(srccom)/hw-events.c libsim.a $(EXTRA_LIBS) # See sim_pre_argv_init and sim_module_install in sim-module.c for more details. modules.c: stamp-modules ; @true stamp-modules: Makefile $(SIM_OBJS:.o=.c) $(ECHO_STAMP) modules.c $(SILENCE) LANG=C ; export LANG ; \ LC_ALL=C ; export LC_ALL ; \ sed -n -e '/^sim_install_/{s/^\(sim_install_[a-z_0-9A-Z]*\).*/\1/;p}' $^ | sort >$@.l-tmp @set -e; (\ echo '/* Do not modify this file. */'; \ echo '/* It is created automatically by the Makefile. */'; \ echo '#include "libiberty.h"'; \ echo '#include "sim-module.h"'; \ sed -e 's:\(.*\):extern MODULE_INIT_FN \1;:' $@.l-tmp; \ echo 'MODULE_INSTALL_FN * const sim_modules_detected[] = {'; \ sed -e 's:\(.*\): \1,:' $@.l-tmp; \ echo '};'; \ echo 'const int sim_modules_detected_len = ARRAY_SIZE (sim_modules_detected);'; \ ) >$@.tmp $(SILENCE) $(SHELL) $(srcroot)/move-if-change $@.tmp modules.c $(SILENCE) rm -f $@.l-tmp $@.tmp $(SILENCE) touch $@ # Support targets. install: installdirs: uninstall: check: html: clean-html: install-html: info: clean-info: install-info: pdf: clean-pdf: install-pdf: .NOEXPORT: MAKEOVERRIDES= tags etags: TAGS # Macros like EXTERN_SIM_CORE confuse tags. # And the sim-n-foo.h files create functions that can't be found either. TAGS: force cd $(srcdir) && \ etags --regex '/^\([[:lower:]_]+\) (/\1/' --regex '/^\/[*] TAGS: .*/' \ *.[ch] ../common/*.[ch] mostlyclean clean: $(SIM_EXTRA_CLEAN) rm -f *.[oa] *~ core \ run$(EXEEXT) libsim.a \ hw-config.h stamp-hw \ modules.c stamp-modules \ tmp-mloop.hin tmp-mloop.h tmp-mloop.cin tmp-mloop.c distclean maintainer-clean realclean: clean $(SIM_EXTRA_DISTCLEAN) rm -f TAGS rm -f Makefile config.cache config.log config.status .c.o: $(COMPILE) $< $(POSTCOMPILE) # Dummy target to force execution of dependent targets. force: Makefile: Makefile.in $(srccom)/Make-common.in $(config.status) $(ECHO_GEN) CONFIG_HEADERS= $(SHELL) ./config.status # $(ECHO_GEN) pwd=`pwd` && subdir=`basename "$$pwd"` && cd .. && \ # $(SHELL) ./config.status Make-common.sim $$subdir/Makefile.sim $$subdir/Makefile config.status: configure $(ECHO_GEN) $(SHELL) ./config.status --recheck # CGEN support GUILE = `if [ -f ../../guile/libguile/guile ]; then echo ../../guile/libguile/guile; else echo guile ; fi` CGEN = "$(GUILE) -l $(CGENDIR)/guile.scm -s" CGENFLAGS = -v CGEN_CPU_DIR = $(CGENDIR)/cpu # Most ports use the files here instead of cgen/cpu. CPU_DIR = $(srcroot)/cpu CGEN_READ_SCM = $(CGENDIR)/sim.scm CGEN_ARCH_SCM = $(CGENDIR)/sim-arch.scm CGEN_CPU_SCM = $(CGENDIR)/sim-cpu.scm $(CGENDIR)/sim-model.scm CGEN_DECODE_SCM = $(CGENDIR)/sim-decode.scm CGEN_DESC_SCM = $(CGENDIR)/desc.scm $(CGENDIR)/desc-cpu.scm # Various choices for which cpu specific files to generate. # These are passed to cgen.sh in the "extrafiles" argument. CGEN_CPU_EXTR = /extr/ CGEN_CPU_READ = /read/ CGEN_CPU_WRITE = /write/ CGEN_CPU_SEM = /sem/ CGEN_CPU_SEMSW = /semsw/ CGEN_FLAGS_TO_PASS = \ CGEN='$(CGEN)' \ CGENFLAGS="$(CGENFLAGS)" # We store the generated files in the source directory until we decide to # ship a Scheme interpreter with gdb/binutils. Maybe we never will. cgen-arch: force $(SHELL) $(srccom)/cgen.sh arch $(srcdir) \ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \ $(arch) "$(FLAGS)" ignored "$(isa)" $(mach) ignored \ $(archfile) ignored cgen-cpu: force $(SHELL) $(srccom)/cgen.sh cpu $(srcdir) \ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \ $(arch) "$(FLAGS)" $(cpu) "$(isa)" $(mach) "$(SUFFIX)" \ $(archfile) "$(EXTRAFILES)" cgen-defs: force $(SHELL) $(srccom)/cgen.sh defs $(srcdir) \ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \ $(arch) "$(FLAGS)" $(cpu) "$(isa)" $(mach) "$(SUFFIX)" \ $(archfile) ignored cgen-decode: force $(SHELL) $(srccom)/cgen.sh decode $(srcdir) \ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \ $(arch) "$(FLAGS)" $(cpu) "$(isa)" $(mach) "$(SUFFIX)" \ $(archfile) "$(EXTRAFILES)" cgen-cpu-decode: force $(SHELL) $(srccom)/cgen.sh cpu-decode $(srcdir) \ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \ $(arch) "$(FLAGS)" $(cpu) "$(isa)" $(mach) "$(SUFFIX)" \ $(archfile) "$(EXTRAFILES)" cgen-desc: force $(SHELL) $(srccom)/cgen.sh desc $(srcdir) \ $(CGEN) $(CGENDIR) "$(CGENFLAGS)" \ $(arch) "$(FLAGS)" $(cpu) "$(isa)" $(mach) "$(SUFFIX)" \ $(archfile) ignored $(opcfile) ## End COMMON_POST_CONFIG_FRAG IGEN_TRACE= # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries # -G trace-all IGEN_INSN=$(srcdir)/mips.igen IGEN_DC=$(srcdir)/mips.dc M16_DC=$(srcdir)/m16.dc MICROMIPS32_DC=$(srcdir)/micromips.dc MICROMIPS16_DC=$(srcdir)/micromips16.dc IGEN_INCLUDE=\ $(srcdir)/micromipsdsp.igen \ $(srcdir)/micromips.igen \ $(srcdir)/m16.igen \ $(srcdir)/m16e.igen \ $(srcdir)/mdmx.igen \ $(srcdir)/mips3d.igen \ $(srcdir)/sb1.igen \ $(srcdir)/tx.igen \ $(srcdir)/vr.igen \ $(srcdir)/dsp.igen \ $(srcdir)/dsp2.igen \ $(srcdir)/mips3264r2.igen \ $(srcdir)/mips3264r6.igen \ # 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 = \ itable.h \ itable.c \ SIM_IGEN_ALL = tmp-igen SIM_M16_ALL = tmp-m16 SIM_MICROMIPS_ALL = tmp-micromips SIM_MULTI_ALL = tmp-multi $(BUILT_SRC_FROM_GEN): $(SIM_IGEN_ALL) BUILT_SRC_FROM_IGEN = \ icache.h \ icache.c \ idecode.h \ idecode.c \ semantics.h \ semantics.c \ model.h \ model.c \ support.h \ support.c \ engine.h \ engine.c \ irun.c \ $(BUILT_SRC_FROM_IGEN): tmp-igen tmp-igen: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) $(ECHO_IGEN) $(IGEN_RUN) \ $(IGEN_TRACE) \ -I $(srcdir) \ -Werror \ -Wnodiscard \ -F 32,f -M mipsIV \ -G gen-direct-access \ -G gen-zero-r0 \ -B 32 \ -H 31 \ -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 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h icache.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c icache.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h idecode.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c idecode.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h semantics.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c semantics.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h model.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c model.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h support.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c support.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.h itable.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.c itable.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-engine.h engine.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-engine.c engine.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-irun.c irun.c $(SILENCE) touch $@ BUILT_SRC_FROM_M16 = \ m16_icache.h \ m16_icache.c \ m16_idecode.h \ m16_idecode.c \ m16_semantics.h \ m16_semantics.c \ m16_model.h \ m16_model.c \ m16_support.h \ m16_support.c \ \ m32_icache.h \ m32_icache.c \ m32_idecode.h \ m32_idecode.c \ m32_semantics.h \ m32_semantics.c \ m32_model.h \ m32_model.c \ m32_support.h \ m32_support.c \ $(BUILT_SRC_FROM_M16): tmp-m16 tmp-m16: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) $(ECHO_IGEN) $(IGEN_RUN) \ $(IGEN_TRACE) \ -I $(srcdir) \ -Werror \ -Wnodiscard \ -F 16 -M mips16,mipsIII \ -G gen-direct-access \ -G gen-zero-r0 \ -B 16 \ -H 15 \ -i $(IGEN_INSN) \ -o $(M16_DC) \ -P m16_ \ -x \ -n m16_icache.h -hc tmp-icache.h \ -n m16_icache.c -c tmp-icache.c \ -n m16_semantics.h -hs tmp-semantics.h \ -n m16_semantics.c -s tmp-semantics.c \ -n m16_idecode.h -hd tmp-idecode.h \ -n m16_idecode.c -d tmp-idecode.c \ -n m16_model.h -hm tmp-model.h \ -n m16_model.c -m tmp-model.c \ -n m16_support.h -hf tmp-support.h \ -n m16_support.c -f tmp-support.c \ # $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h m16_icache.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c m16_icache.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h m16_idecode.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c m16_idecode.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h m16_semantics.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c m16_semantics.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h m16_model.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c m16_model.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h m16_support.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c m16_support.c $(ECHO_IGEN) $(IGEN_RUN) \ $(IGEN_TRACE) \ -I $(srcdir) \ -Werror \ -Wnodiscard \ -F 32,f -M mipsIV \ -G gen-direct-access \ -G gen-zero-r0 \ -B 32 \ -H 31 \ -i $(IGEN_INSN) \ -o $(IGEN_DC) \ -P m32_ \ -x \ -n m32_icache.h -hc tmp-icache.h \ -n m32_icache.c -c tmp-icache.c \ -n m32_semantics.h -hs tmp-semantics.h \ -n m32_semantics.c -s tmp-semantics.c \ -n m32_idecode.h -hd tmp-idecode.h \ -n m32_idecode.c -d tmp-idecode.c \ -n m32_model.h -hm tmp-model.h \ -n m32_model.c -m tmp-model.c \ -n m32_support.h -hf tmp-support.h \ -n m32_support.c -f tmp-support.c \ # $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h m32_icache.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c m32_icache.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h m32_idecode.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c m32_idecode.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h m32_semantics.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c m32_semantics.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h m32_model.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c m32_model.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h m32_support.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c m32_support.c $(ECHO_IGEN) $(IGEN_RUN) \ $(IGEN_TRACE) \ -I $(srcdir) \ -Werror \ -Wnodiscard \ -Wnowidth \ -F 32,f -M mipsIV -F 16 -M mips16,mipsIII \ -G gen-direct-access \ -G gen-zero-r0 \ -i $(IGEN_INSN) \ -n itable.h -ht tmp-itable.h \ -n itable.c -t tmp-itable.c \ # $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.h itable.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.c itable.c $(SILENCE) touch $@ BUILT_SRC_FROM_MICROMIPS = \ micromips16_icache.h \ micromips16_icache.c \ micromips16_idecode.h \ micromips16_idecode.c \ micromips16_semantics.h \ micromips16_semantics.c \ micromips16_model.h \ micromips16_model.c \ micromips16_support.h \ micromips16_support.c \ \ micromips32_icache.h \ micromips32_icache.c \ micromips32_idecode.h \ micromips32_idecode.c \ micromips32_semantics.h \ micromips32_semantics.c \ micromips32_model.h \ micromips32_model.c \ micromips32_support.h \ micromips32_support.c \ \ micromips_m32_icache.h \ micromips_m32_icache.c \ micromips_m32_idecode.h \ micromips_m32_idecode.c \ micromips_m32_semantics.h \ micromips_m32_semantics.c \ micromips_m32_model.h \ micromips_m32_model.c \ micromips_m32_support.h \ micromips_m32_support.c \ $(BUILT_SRC_FROM_MICROMIPS): tmp-micromips tmp-micromips: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) $(ECHO_IGEN) $(IGEN_RUN) \ $(IGEN_TRACE) \ -I $(srcdir) \ -Werror \ -Wnodiscard \ -F \ -G gen-direct-access \ -G gen-zero-r0 \ -B 16 \ -H 15 \ -i $(IGEN_INSN) \ -o $(MICROMIPS16_DC) \ -P micromips16_ \ -x \ -n micromips16_icache.h -hc tmp-icache.h \ -n micromips16_icache.c -c tmp-icache.c \ -n micromips16_semantics.h -hs tmp-semantics.h \ -n micromips16_semantics.c -s tmp-semantics.c \ -n micromips16_idecode.h -hd tmp-idecode.h \ -n micromips16_idecode.c -d tmp-idecode.c \ -n micromips16_model.h -hm tmp-model.h \ -n micromips16_model.c -m tmp-model.c \ -n micromips16_support.h -hf tmp-support.h \ -n micromips16_support.c -f tmp-support.c \ # $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h micromips16_icache.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c micromips16_icache.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h micromips16_idecode.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c micromips16_idecode.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h micromips16_semantics.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c micromips16_semantics.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h micromips16_model.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c micromips16_model.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h micromips16_support.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c micromips16_support.c $(ECHO_IGEN) $(IGEN_RUN) \ $(IGEN_TRACE) \ -I $(srcdir) \ -Werror \ -Wnodiscard \ -F \ -G gen-direct-access \ -G gen-zero-r0 \ -B 32 \ -H 31 \ -i $(IGEN_INSN) \ -o $(MICROMIPS32_DC) \ -P micromips32_ \ -x \ -n micromips32_icache.h -hc tmp-icache.h \ -n micromips32_icache.c -c tmp-icache.c \ -n micromips32_semantics.h -hs tmp-semantics.h \ -n micromips32_semantics.c -s tmp-semantics.c \ -n micromips32_idecode.h -hd tmp-idecode.h \ -n micromips32_idecode.c -d tmp-idecode.c \ -n micromips32_model.h -hm tmp-model.h \ -n micromips32_model.c -m tmp-model.c \ -n micromips32_support.h -hf tmp-support.h \ -n micromips32_support.c -f tmp-support.c \ # $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h micromips32_icache.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c micromips32_icache.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h micromips32_idecode.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c micromips32_idecode.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h micromips32_semantics.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c micromips32_semantics.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h micromips32_model.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c micromips32_model.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h micromips32_support.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c micromips32_support.c $(ECHO_IGEN) $(IGEN_RUN) \ $(IGEN_TRACE) \ -I $(srcdir) \ -Werror \ -Wnodiscard \ -F 32,f -M mipsIV \ -G gen-direct-access \ -G gen-zero-r0 \ -B 32 \ -H 31 \ -i $(IGEN_INSN) \ -o $(IGEN_DC) \ -P micromips_m32_ \ -x \ -n micromips_m32_icache.h -hc tmp-icache.h \ -n micromips_m32_icache.c -c tmp-icache.c \ -n micromips_m32_semantics.h -hs tmp-semantics.h \ -n micromips_m32_semantics.c -s tmp-semantics.c \ -n micromips_m32_idecode.h -hd tmp-idecode.h \ -n micromips_m32_idecode.c -d tmp-idecode.c \ -n micromips_m32_model.h -hm tmp-model.h \ -n micromips_m32_model.c -m tmp-model.c \ -n micromips_m32_support.h -hf tmp-support.h \ -n micromips_m32_support.c -f tmp-support.c \ # $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h micromips_m32_icache.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c micromips_m32_icache.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h micromips_m32_idecode.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c micromips_m32_idecode.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h micromips_m32_semantics.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c micromips_m32_semantics.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h micromips_m32_model.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c micromips_m32_model.c $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h micromips_m32_support.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c micromips_m32_support.c $(ECHO_IGEN) $(IGEN_RUN) \ $(IGEN_TRACE) \ -I $(srcdir) \ -Werror \ -Wnodiscard \ -Wnowidth \ -F 32,f -M mipsIV -F -F \ -G gen-direct-access \ -G gen-zero-r0 \ -i $(IGEN_INSN) \ -n itable.h -ht tmp-itable.h \ -n itable.c -t tmp-itable.c \ # $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.h itable.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.c itable.c $(SILENCE) touch $@ BUILT_SRC_FROM_MULTI = doesnt-exist.c SIM_MULTI_IGEN_CONFIGS = $(BUILT_SRC_FROM_MULTI): tmp-multi tmp-multi: tmp-mach-multi tmp-itable-multi tmp-run-multi tmp-mach-multi: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) for t in $(SIM_MULTI_IGEN_CONFIGS); do \ p=`echo $${t} | sed -e 's/:.*//'` ; \ m=`echo $${t} | sed -e 's/.*:\(.*\):.*/\1/'` ; \ f=`echo $${t} | sed -e 's/.*://'` ; \ case $${p} in \ micromips16*) e="-B 16 -H 15 -o $(MICROMIPS16_DC) -F 16" ;; \ micromips32* | micromips64*) \ e="-B 32 -H 31 -o $(MICROMIPS32_DC) -F $${f}" ;; \ micromips_m32*) \ e="-B 32 -H 31 -o $(IGEN_DC) -F $${f}"; \ m="mips32r2,mips3d,mdmx,dsp,dsp2,smartmips" ;; \ micromips_m64*) \ e="-B 32 -H 31 -o $(IGEN_DC) -F $${f}"; \ m="mips64r2,mips3d,mdmx,dsp,dsp2,smartmips" ;; \ m16*) e="-B 16 -H 15 -o $(M16_DC) -F 16" ;; \ *) e="-B 32 -H 31 -o $(IGEN_DC) -F $${f}" ;; \ esac; \ $(IGEN_RUN) \ $(IGEN_TRACE) \ $${e} \ -I $(srcdir) \ -Werror \ -Wnodiscard \ -N 0 \ -M $${m} \ -G gen-direct-access \ -G gen-zero-r0 \ -i $(IGEN_INSN) \ -P $${p}_ \ -x \ -n $${p}_icache.h -hc tmp-icache.h \ -n $${p}_icache.c -c tmp-icache.c \ -n $${p}_semantics.h -hs tmp-semantics.h \ -n $${p}_semantics.c -s tmp-semantics.c \ -n $${p}_idecode.h -hd tmp-idecode.h \ -n $${p}_idecode.c -d tmp-idecode.c \ -n $${p}_model.h -hm tmp-model.h \ -n $${p}_model.c -m tmp-model.c \ -n $${p}_support.h -hf tmp-support.h \ -n $${p}_support.c -f tmp-support.c \ -n $${p}_engine.h -he tmp-engine.h \ -n $${p}_engine.c -e tmp-engine.c \ || exit; \ $(SHELL) $(srcdir)/../../move-if-change tmp-icache.h \ $${p}_icache.h ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-icache.c \ $${p}_icache.c ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-idecode.h \ $${p}_idecode.h ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-idecode.c \ $${p}_idecode.c ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-semantics.h \ $${p}_semantics.h ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-semantics.c \ $${p}_semantics.c ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-model.h \ $${p}_model.h ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-model.c \ $${p}_model.c ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-support.h \ $${p}_support.h ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-support.c \ $${p}_support.c ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-engine.h \ $${p}_engine.h ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-engine.c \ $${p}_engine.c ; \ done $(SILENCE) touch $@ tmp-itable-multi: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE) $(ECHO_IGEN) $(IGEN_RUN) \ $(IGEN_TRACE) \ -I $(srcdir) \ -Werror \ -Wnodiscard \ -Wnowidth \ -N 0 \ \ -G gen-direct-access \ -G gen-zero-r0 \ -i $(IGEN_INSN) \ -n itable.h -ht tmp-itable.h \ -n itable.c -t tmp-itable.c \ # $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.h itable.h $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.c itable.c $(SILENCE) touch $@ tmp-run-multi: $(srcdir)/m16run.c $(srcdir)/micromipsrun.c for t in $(SIM_MULTI_IGEN_CONFIGS); do \ case $${t} in \ m16*) \ m=`echo $${t} | sed -e 's/^m16//' -e 's/:.*//'`; \ sed < $(srcdir)/m16run.c > tmp-run \ -e "s/^sim_/m16$${m}_/" \ -e "/include/s/sim-engine/m16$${m}_engine/" \ -e "s/m16_/m16$${m}_/" \ -e "s/m32_/m32$${m}_/" ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-run \ m16$${m}_run.c ; \ ;;\ micromips32*) \ m=`echo $${t} | sed -e 's/^micromips32//' -e 's/:.*//'`; \ sed < $(srcdir)/micromipsrun.c > tmp-run \ -e "s/^sim_/micromips32$${m}_/" \ -e "/include/s/sim-engine/micromips32$${m}_engine/" \ -e "s/micromips16_/micromips16$${m}_/" \ -e "s/micromips32_/micromips32$${m}_/" \ -e "s/m32_/m32$${m}_/" ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-run \ micromips$${m}_run.c ; \ ;;\ micromips64*) \ m=`echo $${t} | sed -e 's/^micromips64//' -e 's/:.*//'`; \ sed < $(srcdir)/micromipsrun.c > tmp-run \ -e "s/^sim_/micromips64$${m}_/" \ -e "/include/s/sim-engine/micromips64$${m}_engine/" \ -e "s/micromips16_/micromips16$${m}_/" \ -e "s/micromips32_/micromips64$${m}_/" \ -e "s/m32_/m64$${m}_/" ; \ $(SHELL) $(srcdir)/../../move-if-change tmp-run \ micromips$${m}_run.c ; \ ;;\ esac \ done $(SILENCE) touch $@ clean-extra: rm -f $(BUILT_SRC_FROM_GEN) rm -f $(BUILT_SRC_FROM_IGEN) rm -f $(BUILT_SRC_FROM_M16) rm -f $(BUILT_SRC_FROM_MICROMIPS) rm -f $(BUILT_SRC_FROM_MULTI) rm -f tmp-* rm -f micromips16*.o micromips32*.o m16*.o m32*.o itable*.o distclean-extra: rm -f multi-include.h multi-run.c