📄 makefile.all
字号:
#!gmake# Makefile for embra librariesifndef SIMTOOLSSIMTOOLS = ../../..endifinclude $(SIMTOOLS)/makedefsVPATH = ..################################################################# INCLUDES################################################################# for private vcode includes: -I $(HOME)/vcode/vcode-srcINCS = -I$(SIMTOOLS)/cpus/shared \ -I$(SIMTOOLS)/cpus/simos \ -I$(SIMTOOLS)/cpus/mipsy $(GLOBAL_INCS) \ -I$(SIMTOOLS)/common/dcg_support# always use VCODE now ;-)SIMOS = 1VCODE = 1ifdef VCODEVC_DIR = $(SIMOS_DIR)/build-files/include/sgiINCS += -I$(VC_DIR)endif################################################################# DEFINES################################################################DEFS = -DSIMOS $(GLOBAL_DEFS)ifdef SIMOSTRANSDEBUGDEFS += -DDEBUG_TRANSLATORendififdef VCODEDEFS += -DVCODE=1endififdef OLDCODETRANSLATOR = translator.old.cDEFS += -DOLDCODE=1elseTRANSLATOR = translator.cendif################################################################## C and ASM FLAGS#################################################################ifdef SIMOSDEBUGCFLAGS = -gASFLAGS = -gendififdef SIMOSTRANSDEBUGCFLAGS = -gASFLAGS = -gendififdef SIMOSCFLAGS += $(GLOBAL_CFLAGS)ASFLAGS += $(GLOBAL_ASFLAGS)endif# if we want to allow optimization of large routines# CFLAGS += -Olimit 3000# CFLAGS += -g3################################################################## Source files for various makes#################################################################C1SRCS = $(TRANSLATOR) decoder.c TRANSDEBUGCSRCS = $(C1SRCS) debug_trans.cCSRCS = driver.c qc.c qc64.c cache.c ifdef VCODE CSRCS += main_run.cendif# was: main_run.s callout.sSSRCS = SIMOSCSRCS = $(CSRCS) $(C1SRCS) mem_control.c clock.c \ stats.c debug.c directory.c simos_interface.c r4k_cp0.cSIMOSSSRCS = $(SSRCS) directory_asm.sSOLOCSRCS = $(CSRCS) mem_tlb_solo.c mem_driver.c solo_nops.cSOLOSSRCS = $(SSRCS) solo_switch.sifdef SIMOSTRANSDEBUGC_TARGETS = $(TRANSDEBUGCSRCS:.c=.o)elseC_TARGETS = $(SIMOSCSRCS:.c=.o) ASM_TARGETS = $(SIMOSSSRCS:.s=.o)endififdef SIMOSTRANSDEBUGTARGETS = $(TRANSDEBUGOBJS)ASFLAGS = $(SIMOSDEBUGSFLAGS)CFLAGS = $(SIMOSTRANSDEBUGCFLAGS)elseifdef SIMOSTARGET = embralib.aVC_TARGETS = $(LIBDIR)/vcode.lib.a $(VC_DIR)/vcode.hTARGETS = $(C_TARGETS) $(ASM_TARGETS) endififdef SIMOSDEBUGTARGET = embradebuglibTARGETS = $(C_TARGETS) $(ASM_TARGETS)endifendifAS_OPTS = $(ASFLAGS) $(DEFS) $(INCS)CC_OPTS = $(CFLAGS) $(DEFS) $(INCS).PHONY: warn depsdefault: warnifdef SIMOS @$(MAKE) -f ../Makefile.ALL SIMOS=1 deps @$(MAKE) -f ../Makefile.ALL SIMOS=1 INCLUDE_DEPS=1 $(TARGET)else @echo "Embra currently is only set up to be made into SIMOS"endif$(TARGET): $(TARGETS) @echo "-> Updating $(TARGET)" echo $(AR) cru $(TARGET) $(TARGETS) $(AR) cru $(TARGET) $(TARGETS)debugtrans: warn $(TRANSDEBUGOBJS) $(CC) -o ../debug_trans $(TARGETS) ../../shared/SOLO/shared.a -lmldsolocpu: warn $(SOLOOBJS) $(AR) cru libsoloMshade.a $(SOLOOBJS) warn: @echo "" @echo "Making EMBRA" @echo "************" @echo " DEFS : `$(FORMAT) $(DEFS)`" @echo " CFLAGS : `$(FORMAT) $(CFLAGS)`" @echo " ASFLAGS : `$(FORMAT) $(ASFLAGS)`" @echo ""clean:: echo "ha ha!"$(C_TARGETS): %.o: %.c @echo "Compiling $(<F)" $(CC) $(CC_OPTS) -c $<$(ASM_TARGETS): %.o: %.s echo "Assembling $(<F)" $(AS) $(AS_OPTS) -c $< -o $@deps: ${TARGETS:.o=.d}%.e: %.c $(CC) -E $(CC_OPTS) $< > ../$@%.d: %.c @$(CC) -M $(CC_OPTS) $< > $@%.d: %.s @$(AS) -M $(AS_OPTS) $< > $@ifdef INCLUDE_DEPSinclude ${TARGETS:.o=.d}endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -