📄 makefile.in
字号:
INLINE = \ inline.h \ inline.cBUILT_SRC_WO_CONFIG = \ icache.h icache.c \ support.h support.c \ idecode.h idecode.c \ semantics.h semantics.c \ itable.h itable.c \ spreg.h spreg.c \ model.h model.c \ support.h support.c \ pk.h \ hw.h hw.c \ filter_host.c \ @sim_targ_vals@BUILT_SRC = \ $(BUILT_SRC_WO_CONFIG) \ config.h \ ppc-config.h LIB_INLINE_SRC = \ psim.c \ bits.c \ debug.c \ sim-endian.c \ sim-endian.h \ sim-endian-n.h \ vm.c \ vm_n.h \ corefile.c \ events.c \ os_emul.c \ registers.c \ cpu.c \ interrupts.c \ device.c \ tree.c \ device_table.c \ cap.c \ mon.c \ options.cLIB_SRC = \ $(PACKAGE_SRC) \ $(HW_SRC) \ $(LIB_INLINE_SRC)MAIN_SRC = \ main.c \ gdb-sim.c \ sim_calls.c# NOTE: semantics, idecode and psim put last so smaller files are compiled# firstLIB_OBJ = \ debug.o \ filter_filename.o \ bits.o \ sim-endian.o \ os_emul.o \ emul_generic.o \ emul_bugapi.o \ emul_chirp.o \ emul_netbsd.o \ emul_unix.o \ registers.o \ vm.o \ corefile.o \ model.o \ spreg.o \ cpu.o \ interrupts.o \ events.o \ cap.o \ device.o \ tree.o \ device_table.o \ itable.o \ mon.o \ icache.o \ semantics.o \ idecode.o \ support.o \ @sim_fpu@ \ psim.o \ $(PACKAGE_OBJ) \ $(HW_OBJ) \ options.oGDB_OBJ = gdb-sim.o sim_calls.o @sim_callback@HW_SRC = @sim_hw_src@HW_OBJ = @sim_hw_obj@PACKAGE_SRC = @sim_pk_src@PACKAGE_OBJ = @sim_pk_obj@psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBS) $(INTLDEPS) $(CC) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o psim$(EXEEXT) main.o $(TARGETLIB) $(BFD_LIB) $(INTLLIBS) $(LIBIBERTY_LIB) $(LIBS)run: psim rm -f run$(EXEEXT) ln psim$(EXEEXT) run$(EXEEXT)$(TARGETLIB): tmp-igen tmp-dgen tmp-hw tmp-pk tmp-defines $(LIB_OBJ) $(GDB_OBJ) rm -f $(TARGETLIB) $(AR) $(AR_FLAGS) $(TARGETLIB) $(LIB_OBJ) $(GDB_OBJ) $(RANLIB) $(TARGETLIB)psim.o: psim.c $(CPU_H) $(IDECODE_H) $(OPTIONS_H) $(TREE_H) $(BFD_H)bits.o: bits.c $(BASICS_H)debug.o: debug.c $(CONFIG_H) $(BASICS_H)filter_filename.o: filter_filename.c $(CONFIG_H) $(PPC_CONFIG_H) $(FILTER_FILENAME_H)sim-endian.o: sim-endian.c $(CONFIG_H) $(BASICS_H) $(SIM_ENDIAN_N_H)os_emul.o: os_emul.c $(CPU_H) $(IDECODE_H) $(OS_EMUL_H) $(EMUL_GENERIC_H) $(EMUL_NETBSD_H) $(EMUL_UNIX_H) $(EMUL_CHIRP_H) $(EMUL_BUGAPI_H)emul_generic.o: emul_generic.c $(EMUL_GENERIC_H)emul_bugapi.o: emul_bugapi.c $(EMUL_GENERIC_H) $(EMUL_BUGAPI_H)emul_chirp.o: emul_chirp.c $(EMUL_GENERIC_H) $(EMUL_CHIRP_H)emul_netbsd.o: emul_netbsd.c $(EMUL_GENERIC_H) $(EMUL_NETBSD_H)emul_unix.o: emul_unix.c $(EMUL_GENERIC_H) $(EMUL_UNIX_H)registers.o: registers.c $(BASICS_H) $(REGISTERS_H)cpu.o: cpu.c $(CPU_H) $(IDECODE_H)interrupts.o: interrupts.c $(CPU_H) $(IDECODE_H) $(OS_EMUL_H)# Given that inlines are turned on now, rebuild idecode whenever# anything changes.idecode.o: idecode.c $(CPU_H) $(IDECODE_H) $(SEMANTICS_H) $(LIB_INLINE_SRC) $(BUILT_SRC)# double.o: double.c dp-bit.cvm.o: vm.c $(BASICS_H) $(REGISTERS_H) $(DEVICE_H) $(COREFILE_H) $(VM_H) $(INTERRUPTS_H) $(MON_H) $(CPU_H) $(VM_N_H)corefile.o: corefile.c $(BASICS_H) $(DEVICE_TABLE_H) $(COREFILE_H) $(COREFILE_N_H)model.o: model.c $(CPU_H) $(MON_H)events.o: events.c $(BASICS_H) $(EVENTS_H)sim_calls.o: sim_calls.c $(PSIM_H) $(OPTIONS_H) $(DEFS_H) $(BFD_H) $(GDB_CALLBACK_H) $(GDB_REMOTE_SIM_H)gdb-sim.o: gdb-sim.c $(PSIM_H) $(OPTIONS_H) $(REGISTERS_H) $(GDB_REMOTE_SIM_H) $(GDB_SIM_PPC_H) $(SIM_CALLBACK_H)spreg.o: spreg.c $(BASICS_H) $(SPREG_H)main.o: main.c $(PSIM_H) $(OPTIONS_H) $(DEVICE_H) $(EVENTS_H) $(BFD_H) $(GDB_CALLBACK_H) $(GDB_REMOTE_SIM_H)device.o: device.c $(DEVICE_TABLE_H) $(CAP_H) $(EVENTS_H) $(PSIM_H)tree.o: tree.c $(BASICS_H) $(DEVICE_H) $(TREE_H)device_table.o: device_table.c $(DEVICE_TABLE_H) hw.ccap.o: cap.c $(CAP_H)semantics.o: semantics.c $(CPU_H) $(IDECODE_H) $(SEMANTICS_H) $(COMMON_SIM_INLINE_H) $(COMMON_SIM_FPU_H) $(SUPPORT_H)icache.o: icache.c $(CPU_H) $(IDECODE_H) $(SEMANTICS_H) $(ICACHE_H) $(COMMON_SIM_INLINE_H) $(COMMON_SIM_FPU_H) $(SUPPORT_H)support.o: support.c $(CPU_H) $(IDECODE_H) $(COMMON_SIM_INLINE_H) $(COMMON_SIM_FPU_H) $(SUPPORT_H)itable.o: itable.c $(ITABLE_H)mon.o: mon.c $(BASICS_H) $(CPU_H) $(MON_H)# GDB after 4.16 expects the default_callback structure to be setup.# As a kludge, build the common stuff here for now.gentmap: ../common/gentmap.c Makefile targ-vals.def $(CC_FOR_BUILD) $(BUILD_FLAGS) -I. -I../common -I$(srcdir)/../common -o gentmap $< $(BUILD_LIBS)targ-vals.def: $(srcdir)/../common/nltvals.def rm -f targ-vals.def tmp-def cat $(srcdir)/../common/nltvals.def > tmp-vals.def $(SHELL) $(srcdir)/../../move-if-change tmp-vals.def targ-vals.deftarg-vals.h: Makefile gentmap $(srcdir)/../../move-if-change rm -f tmp-vals.h ./gentmap -h > tmp-vals.h $(SHELL) $(srcdir)/../../move-if-change tmp-vals.h targ-vals.htarg-map.c: Makefile gentmap $(srcdir)/../../move-if-change rm -f tmp-map.c ./gentmap -c > tmp-map.c $(SHELL) $(srcdir)/../../move-if-change tmp-map.c targ-map.ccallback.o: ../common/callback.c $(TARG_VALS_H) $(CONFIG_H) $(CC) -c $(STD_CFLAGS) -DHAVE_CONFIG_H $<targ-map.o: targ-map.c $(ANSIDECL_H) $(GDB_CALLBACK_H) $(TARG_VALS_H)sim-fpu.o: $(srcdir)/../common/sim-fpu.c $(CONFIG_H) $(TCONFIG_H) $(CC) -c $(STD_CFLAGS) -DHAVE_CONFIG_H $(srcdir)/../common/sim-fpu.c tconfig.h: rm -f tconfig.h echo > tconfig.h# Rebuild options whenever something changes so the date/time is up to date.options.o: options.c $(CPU_H) $(OPTIONS_H) $(DEFINES_H) $(BASICS_H) $(IDECODE_H) $(INLINE) $(LIB_SRC) $(BUILT_SRC) config.status Makefile $(CC) -c $(STD_CFLAGS) '-DOPCODE_RULES="@sim_opcode@"' '-DIGEN_FLAGS="$(IGEN_FLAGS)"' '-DDGEN_FLAGS="$(DGEN_FLAGS)"' $<tmp-defines: config.h Makefile sed -n -e '/^#define HAVE_/s/ 1$$/",/' -e '/^#define HAVE_/s//"HAVE_/p' < config.h > tmp-defines.h $(SHELL) $(srcdir)/../../move-if-change tmp-defines.h defines.h touch tmp-defines## Rules to create the built c source code files#ppc-config.h: $(CONFIG_FILE) cp $(srcdir)/$(CONFIG_FILE) ppc-config.htmp-dgen: dgen ppc-spr-table $(srcdir)/../../move-if-change ./dgen $(DGEN_FLAGS) \ -r $(srcdir)/ppc-spr-table \ -n spreg.h -hp tmp-spreg.h \ -n spreg.c -p tmp-spreg.c $(SHELL) $(srcdir)/../../move-if-change tmp-spreg.h spreg.h $(SHELL) $(srcdir)/../../move-if-change tmp-spreg.c spreg.c touch tmp-dgentmp-igen: igen $(srcdir)/ppc-instructions $(srcdir)/altivec.igen $(srcdir)/e500.igen $(IGEN_OPCODE_RULES) $(srcdir)/../../move-if-change tmp-ld-decode tmp-ld-cache tmp-ld-insn tmp-filter ./igen $(IGEN_FLAGS) \ -o $(srcdir)/$(IGEN_OPCODE_RULES) \ -I $(srcdir) -i $(srcdir)/ppc-instructions \ -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 itable.h -ht tmp-itable.h \ -n itable.c -t tmp-itable.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 $(SHELL) $(srcdir)/../../move-if-change tmp-icache.h icache.h $(SHELL) $(srcdir)/../../move-if-change tmp-icache.c icache.c $(SHELL) $(srcdir)/../../move-if-change tmp-idecode.h idecode.h $(SHELL) $(srcdir)/../../move-if-change tmp-idecode.c idecode.c $(SHELL) $(srcdir)/../../move-if-change tmp-semantics.h semantics.h $(SHELL) $(srcdir)/../../move-if-change tmp-semantics.c semantics.c $(SHELL) $(srcdir)/../../move-if-change tmp-itable.h itable.h $(SHELL) $(srcdir)/../../move-if-change tmp-itable.c itable.c $(SHELL) $(srcdir)/../../move-if-change tmp-model.h model.h $(SHELL) $(srcdir)/../../move-if-change tmp-model.c model.c $(SHELL) $(srcdir)/../../move-if-change tmp-support.h support.h $(SHELL) $(srcdir)/../../move-if-change tmp-support.c support.c touch tmp-igen# NOTE: Some versions of make don't handle files created as side-effects# uncomment the below if that is the case.$(TARGETLIB): tmp-igen tmp-dgenitable.h itable.c icache.h icache.c idecode.h idecode.c semantics.h semantics.c model.h model.c support.h support.c: tmp-igenspreg.h spreg.c: tmp-dgendgen: dgen.o table.o lf.o misc.o filter_host.o $(CC_FOR_BUILD) $(BUILD_CFLAGS) -o dgen dgen.o table.o lf.o misc.o filter_host.o $(BUILD_LIBS)igen: igen.o table.o lf.o misc.o filter_host.o ld-decode.o ld-cache.o filter.o ld-insn.o gen-model.o gen-itable.o gen-icache.o gen-semantics.o gen-idecode.o gen-support.o $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o igen igen.o table.o lf.o misc.o filter_host.o ld-decode.o ld-cache.o filter.o ld-insn.o gen-model.o gen-itable.o gen-icache.o gen-semantics.o gen-idecode.o gen-support.o $(BUILD_LIBS)filter_host.c: filter_filename.c cat $(srcdir)/filter_filename.c > filter_host.cfilter_host.o: filter_host.c $(CONFIG_H) $(PPC_CONFIG_H) $(FILTER_FILENAME_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c filter_host.ctable.o: table.c $(CONFIG_H) $(MISC_H) $(LF_H) $(TABLE_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/table.clf.o: lf.c $(CONFIG_H) $(MISC_H) $(LF_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/lf.cfilter.o: filter.c $(CONFIG_H) $(MISC_H) $(FILTER_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/filter.ctmp-filter: filter.c $(MISC_H) misc.o $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-filter -DMAIN $(srcdir)/filter.c misc.o $(BUILD_LIBS)ld-decode.o: ld-decode.c $(MISC_H) $(LF_H) $(TABLE_H) $(LD_DECODE_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/ld-decode.ctmp-ld-decode: ld-decode.o misc.o lf.o table.o filter_host.o $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-ld-decode -DMAIN $(srcdir)/ld-decode.c misc.o lf.o table.o filter_host.o $(BUILD_LIBS)ld-cache.o: ld-cache.c $(MISC_H) $(LF_H) $(TABLE_H) $(LD_CACHE_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/ld-cache.ctmp-ld-cache: ld-cache.o misc.o lf.o table.o filter_host.o $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-ld-cache -DMAIN $(srcdir)/ld-cache.c misc.o lf.o table.o filter_host.o $(BUILD_LIBS)ld-insn.o: ld-insn.c $(MISC_H) $(LF_H) $(TABLE_H) $(FILTER_H) $(LD_DECODE_H) $(LD_CACHE_H) $(LD_INSN_H) $(IGEN_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/ld-insn.ctmp-ld-insn: ld-insn.o misc.o lf.o table.o ld-decode.o filter_host.o filter.o $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o tmp-ld-insn -DMAIN $(srcdir)/ld-insn.c ld-cache.o misc.o lf.o table.o ld-decode.o filter_host.o filter.o $(BUILD_LIBS)gen-model.o: gen-model.c $(MISC_H) $(LF_H) $(TABLE_H) $(FILTER_H) $(LD_CACHE_H) $(LD_DECODE_H) $(LD_INSN_H) $(GEN_MODEL_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/gen-model.cgen-itable.o: gen-itable.c $(MISC_H) $(LF_H) $(TABLE_H) $(FILTER_H) $(LD_CACHE_H) $(LD_DECODE_H) $(LD_INSN_H) $(IGEN_H) $(GEN_ITABLE_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/gen-itable.cgen-icache.o: gen-icache.c $(MISC_H) $(LF_H) $(TABLE_H) $(FILTER_H) $(LD_DECODE_H) $(LD_CACHE_H) $(LD_INSN_H) $(IGEN_H) $(GEN_SEMANTICS_H) $(GEN_IDECODE_H) $(GEN_ICACHE_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/gen-icache.cgen-semantics.o: gen-semantics.c $(MISC_H) $(LF_H) $(TABLE_H) $(FILTER_H) $(LD_DECODE_H) $(LD_CACHE_H) $(LD_INSN_H) $(IGEN_H) $(GEN_SEMANTICS_H) $(GEN_ICACHE_H) $(GEN_IDECODE_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/gen-semantics.cgen-idecode.o: gen-idecode.c $(MISC_H) $(LF_H) $(TABLE_H) $(FILTER_H) $(LD_DECODE_H) $(LD_CACHE_H) $(LD_INSN_H) $(IGEN_H) $(GEN_IDECODE_H) $(GEN_ICACHE_H) $(GEN_SEMANTICS_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/gen-idecode.cgen-support.o: gen-support.c $(MISC_H) $(LF_H) $(TABLE_H) $(FILTER_H) $(LD_DECODE_H) $(LD_CACHE_H) $(LD_INSN_H) $(IGEN_H) $(GEN_SEMANTICS_H) $(GEN_SUPPORT_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/gen-support.cdgen.o: dgen.c $(CONFIG_H) $(MISC_H) $(LF_H) $(TABLE_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/dgen.cigen.o: igen.c $(MISC_H) $(LF_H) $(TABLE_H) $(CONFIG_H) $(FILTER_H) $(LD_CACHE_H) $(LD_DECODE_H) $(LD_INSN_H) $(IGEN_H) $(GEN_MODEL_H) $(GEN_ICACHE_H) $(GEN_ITABLE_H) $(GEN_IDECODE_H) $(GEN_SEMANTICS_H) $(GEN_SUPPORT_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/igen.cmisc.o: misc.c $(CONFIG_H) $(MISC_H) $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/misc.c# real hardwaretmp-hw: Makefile $(HW_SRC) $(srcdir)/../../move-if-change # The first for loop is to remove duplicates. f=""; \ for i in $(HW_SRC) ; do \ case " $$f " in \ *" $$i "*) ;; \ *) f="$$f $$i" ;; \ esac ; \ done ; \ for hw in $$f ; do echo $$hw ; done \ | sed -e 's/^.*\(hw_.*\)\.c/\1/' \ -e 's/^/extern const device_descriptor /' \ -e 's/$$/_device_descriptor\[\];/' \ > tmp-hw.h f=""; \ for i in $(HW_SRC) ; do \ case " $$f " in \ *" $$i "*) ;; \ *) f="$$f $$i" ;; \ esac ; \ done ; \ for hw in $$f ; do echo $$hw ; done \ | sed -e 's/^.*\(hw_.*\)\.c/\1/' \ -e 's/^/ /' \ -e 's/$$/_device_descriptor,/' \ > tmp-hw.c $(SHELL) $(srcdir)/../../move-if-change tmp-hw.h hw.h $(SHELL) $(srcdir)/../../move-if-change tmp-hw.c hw.c touch tmp-hwhw_cpu.o: hw_cpu.c $(DEVICE_TABLE_H) $(HW_CPU_H) $(INTERRUPTS_H) $(CPU_H)hw_core.o: hw_core.c $(DEVICE_TABLE_H) $(COREFILE_H)hw_disk.o: hw_disk.c $(DEVICE_TABLE_H) $(PK_H)hw_glue.o: hw_glue.c $(DEVICE_TABLE_H)hw_htab.o: hw_htab.c $(DEVICE_TABLE_H) $(BFD_H)hw_ide.o: hw_ide.c $(DEVICE_TABLE_H)hw_init.o: hw_init.c $(DEVICE_TABLE_H) $(BFD_H) $(PSIM_H)hw_iobus.o: hw_iobus.c $(DEVICE_TABLE_H)hw_memory.o: hw_memory.c $(DEVICE_TABLE_H)hw_nvram.o: hw_nvram.c $(DEVICE_TABLE_H)hw_opic.o: hw_opic.c $(DEVICE_TABLE_H)hw_pal.o: hw_pal.c $(DEVICE_TABLE_H) $(CPU_H)hw_phb.o: hw_phb.c $(DEVICE_TABLE_H) $(HW_PHB_H) $(COREFILE_H)hw_register.o: hw_register.c $(DEVICE_TABLE_H) $(PSIM_H)hw_trace.o: hw_trace.c $(DEVICE_TABLE_H)hw_vm.o: hw_vm.c $(DEVICE_TABLE_H) $(CPU_H)# ignore this line, it stops make from getting confused# real packagestmp-pk: Makefile $(PACKAGE_SRC) $(srcdir)/../../move-if-change # The first for loop is to remove duplicates. f=""; \ for i in $(PACKAGE_SRC) ; do \ case " $$f " in \ *" $$i "*) ;; \ *) f="$$f $$i" ;; \ esac ; \ done ; \ for pk in $$f ; do echo $$pk ; done \ | sed -e 's/^.*pk_\(.*\)\.c/\1/' \ -e 's/^/extern package_create_instance_callback pk_/' \ -e 's/$$/_create_instance;/' \ > tmp-pk.h $(SHELL) $(srcdir)/../../move-if-change tmp-pk.h pk.h touch tmp-pkpk_disklabel.o: pk_disklabel.c $(DEVICE_TABLE_H) $(PK_H)# ignore this line, it stops make from getting confusedtags etags: TAGSTAGS: $(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) gentmapdistclean realclean: clean rm -f TAGS Makefile config.cache config.status config.h defines.h stamp-h config.logmaintainer-clean: distclean rm -f *~ *.log ppc-config.h core *.coreMakefile: Makefile.in config.status CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.statusconfig.h: stamp-h ; @truestamp-h: config.in config.status CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.statusconfig.status: configure $(SHELL) ./config.status --recheckinstall: installdirs n=`echo run | sed '$(program_transform_name)'`; \ $(INSTALL_PROGRAM) run$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)installdirs: $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -