⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 一个用在mips体系结构中的操作系统
💻
字号:
#!gmake ## DO NOT "make solo", or it will not update the dependency info!#ifndef SIMTOOLSSIMTOOLS = ../..endifSOLO       = yesNON_SHARED = -non_sharedinclude $(SIMTOOLS)/makedefs################################################################# Include Files################################################################ifdef FLASHPOINTINCS  = -I$(SIMTOOLS)/cpus/simos -I$(SIMTOOLS)/cpus/mipsy \        -I$(SIMTOOLS)/cpus/shared -I$(SIMTOOLS)/caches/2Level -I$(SIMDIR) \        -I$(SIMTOOLS)/memsystems/flashlite -I$(MEMSPY_DIR) $(GLOBAL_INCS) elseINCS  = -I$(SIMTOOLS)/cpus/simos -I$(SIMTOOLS)/cpus/mipsy \        -I$(SIMTOOLS)/cpus/shared -I$(SIMTOOLS)/caches/2Level -I$(SIMDIR) \        -I$(SIMTOOLS)/memsystems/flashlite $(GLOBAL_INCS) endif################################################################# Defines################################################################# These start points work fine, but don't allow enough space for big runs#TEXT_START  = 50004000#DATA_START  = 51000000# These start points leave an additional 256MB of space for address-hungry# flashlite runs of 64 procs and up..TEXT_START  = 40004000DATA_START  = 41000000DEFS        = -DSOLO -DSOLO_TEXT_START=0x$(TEXT_START) ifdef FLASHPOINTDEFS	   += -DFLASHPOINTINCS	   += -I$(MEMSPY_DIR)endifGLOBAL_DEFS += -DSIM_MIPS32ASFLAGS	    = $(GLOBAL_ASFLAGS) $(GLOBAL_DEFS) CFLAGS      = $(GLOBAL_CFLAGS) $(GLOBAL_DEFS) $(SOLOCFLAGS) -Xcpluscomm ifdef USE_FLASHLITECFLAGS   += -DUSE_FLASHLITE endifCC_OPTS      = $(CFLAGS) $(INCS) $(DEFS)AS_OPTS      = $(ASFLAGS) $(INCS) $(DEFS)################################################################# Source files needed during compilation################################################################C_TARGETS    = solo_main.o solo_anl.o solo_cp0.o solo_extras.o \        syscall.o page.o solo_stubs.oASM_TARGETS  = sqrt.o solo_asms.oTARGETS      = $(C_TARGETS) $(ASM_TARGETS)################################################################# Things that must be linked with solo mipsy################################################################MIPSYLIB    = $(SIMTOOLS)/cpus/mipsy/SOLO/mipsylib.aCACHELIBS   = $(SIMTOOLS)/caches/2Level/SOLO/2levellib.aMEMSYSLIBS  = $(SIMTOOLS)/memsystems/flashlite/SOLO/flashlitelib.aMEMSYSLIBS += $(SIMTOOLS)/memsystems/misc/SOLO/memsysmisc.aSHAREDLIBS  = $(SIMTOOLS)/common/misc/SOLO/misc.aSHAREDLIBS += $(SIMTOOLS)/common/tcl/SOLO/tcl.aSHAREDLIBS += $(SIMTOOLS)/common/symbols/SOLO/symbols.aSHAREDLIBS += $(SIMTOOLS)/common/stats/SOLO/stats.aifdef FLASHPOINTFPLIBS      = $(MEMSPY_DIR)/memspy_simulator.aendififdef NON_SHAREDLIB_DIR       = /sim/s4/SimOS/build-files/lib/sgi-non-sharedelseLIB_DIR       = /sim/s4/SimOS/build-files/lib/sgi-sharedendifLIBTCL        = $(LIB_DIR)/libtcl7.6.a #ifdef USE_FLASHLITEMEMSYSLIBS +=  $(SIMDIR)/SGI/flashlite.aMEMSYSLIBS += $(SIMDIR)/protocols/dyn_ptr/SGI/protocolLib.aLIBGCC   = /morse/m1/simos/lib/libgcc2.7.2.a#endifLDFLAGS = $(GLOBAL_LDFLAGS) -T $(TEXT_START)  -D $(DATA_START)LIBS    = $(MIPSYLIB) $(CACHELIBS) $(MEMSYSLIBS) $(SHAREDLIBS) $(LIBTCL) $(LIBGCC) $(FPLIBS)ifdef PROFILINGLIBS += -lprofendif.PHONY: warn depsdefault: warn	@$(MAKE) deps	@$(MAKE) INCLUDE_DEPS=1 allall: solo solo.a supportlib.a # DO NOT "make solo", or it will not spew the neat debug outputsolo: $(TARGETS) $(LIBS) solo.a supportlib.a	@echo "Linking solo..."	 $(LD) $(LDFLAGS) -o $@ $(TARGETS) $(LIBS) -lmld -lm	@echo "done."solo.a: $(TARGETS)	@echo "Building solo library (solo.a) for golden copies..."	@$(AR) cru solo.a $(TARGETS)warn: 	@echo ""	@echo "Making SOLO"	@echo "***********"	@echo "NONSHARED : $(NON_SHARED)"	@echo "  DEFS :   `$(FORMAT) $(DEFS)`"	@echo "  CFLAGS : `$(FORMAT) $(CFLAGS)`"	@echo "  LDFLAGS : `$(FORMAT) $(LDFLAGS)`"	@echo "  LIBS : `$(FORMAT) $(LIBS)`"	@echo ""$(C_TARGETS): %.o: %.c %.d	@echo "Compiling  $(<F)"	$(CC) $(CC_OPTS) -c $*.c $(ASM_TARGETS): %.o: %.s	echo "Assembling $(<F)"	$(AS) $(AS_OPTS) -c $< -o $@# NOTE: Supportlib MUST be created with asm_support.o last, so that#       the libcStart symbol is the last thing in the library!supportlib.a: asm_support.s c_support.c c.m4.mipsy solo_interface.h	@echo "Making application supportlib.a..."	$(AS) -O2 -non_shared -mips2 -32 -o asm_support.o asm_support.s	$(CC) -O2 -non_shared $(DEFS) -c c_support.c	@\rm -f supportlib.a	ld -r -o supportlib.a c_support.o asm_support.o clean:	@echo "Making solo clean..."	rm -rf core $(TARGETS) solo solo.a *.d asm_support.o c_support.o supportlib.a clobber:	@echo "Making solo clobbered..."	rm -rf core $(TARGETS) solo solo.a *.d asm_support.o c_support.o supportlib.a deps: ${TARGETS:.o=.d}%.d: %.c	@echo "Finding dependencies of $(<F)"	@$(CC) -M $(CC_OPTS) $< > $@%.d: %.s	@echo "Finding dependencies of $(<F)"	@$(CC) -M $(CC_OPTS) $< > $@ifdef INCLUDE_DEPSinclude ${TARGETS:.o=.d}endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -