📄 makefile.all
字号:
#!gmakeifndef SIMTOOLSSIMTOOLS = ../../..endifinclude $(SIMTOOLS)/makedefsVPATH = ..################################################################# INCLUDE DIRECTORIES################################################################INCS = -I.. -I$(SIMTOOLS)/devices/controllers -I$(SIMTOOLS)/cpus/shared $(GLOBAL_INCS)################################################################# DEFINES################################################################ifeq ($(CPUSIM),mxs)DEF1 = -DMIPSY_MXSendifDEFS = $(DEF1) $(GLOBAL_DEFS)ASFLAGS = $(GLOBAL_ASFLAGS) CFLAGS = $(GLOBAL_CFLAGS) LDFLAGS = $(GLOBAL_LDFLAGS) AS_OPTS = $(ASFLAGS) $(DEFS) $(INCS)CC_OPTS = $(CFLAGS) $(DEFS) $(INCS)################################################################# TARGETS################################################################C_TARGETS = simmagic.o firewall.o sips.o simmisc.o \ startup.o linux_init.o faults.oifdef TORNADOC_TARGETS += simgizmo.oendifTARGETS = $(C_TARGETS)################################################################## Archives that are linked in#################################################################SUBDIR_PREFIX = SIMOSifdef SIMOS64SUBDIR_PREFIX = SIMOS64endifSUBDIR = $(SUBDIR_PREFIX)-$(CPU)ifeq ($(CPUSIM),mxs)MIPSYLIB = $(SIMTOOLS)/cpus/mxs/$(SUBDIR)/mxslib.aelseMIPSYLIB = $(SIMTOOLS)/cpus/mipsy/$(SUBDIR)/mipsylib.aendififndef NO_EMBRAEMBRALIB = $(SIMTOOLS)/cpus/embra/$(SUBDIR)/embralib.a \ $(LIBDIR)/vcode.lib.aEMBRALIB += $(SIMTOOLS)/common/dcg_support/$(SUBDIR)/dcg_support.a endifCPULIBS = $(MIPSYLIB) $(EMBRALIB)CACHELIBS = $(SIMTOOLS)/caches/2Level/$(SUBDIR)/2levellib.aMEMSYSLIBS = $(SIMTOOLS)/memsystems/flashlite/$(SUBDIR)/flashlitelib.aMEMSYSLIBS += $(SIMTOOLS)/memsystems/misc/$(SUBDIR)/memsysmisc.aCOMMONLIBS = $(SIMTOOLS)/common/tcl/$(SUBDIR)/tcl.aCOMMONLIBS += $(SIMTOOLS)/common/misc/$(SUBDIR)/misc.aCOMMONLIBS += $(SIMTOOLS)/common/stats/$(SUBDIR)/stats.aCOMMONLIBS += $(SIMTOOLS)/common/symbols/$(SUBDIR)/symbols.aD_DIR = $(SIMTOOLS)/devicesDEVICES = $(D_DIR)/disk/$(SUBDIR)/disklib.a \ $(D_DIR)/controllers/$(SUBDIR)/controllerlib.a \ $(D_DIR)/network/$(SUBDIR)/networklib.a ifdef USE_FLASHLITEMEMSYSLIBS += $(SIMDIR)/$(CPU)/flashlite.aMEMSYSLIBS += $(SIMDIR)/protocols/dyn_ptr/$(CPU)/protocolLib.aifeq ($(CPU), SGI)MEMSYSLIBS += $(LIBDIR)/libgcc2.7.2.a endifendif LIBTCL = -ltcl8.0ifdef USE_SESLLIBSESL = $(LIBDIR)/libsesl.a $(LIBDIR)/libbfd.a $(LIBDIR)/libiberty.aelseLIBSESL = endififdef USE_TRACINGLIBTRACE = $(LIBDIR)/libtrace.a $(LIBDIR)/globals.a $(LIBDIR)/libMipsR.aelseLIBTRACE = endifLIBS = $(CPULIBS) $(CACHELIBS) $(MEMSYSLIBS) $(COMMONLIBS) $(DEVICES) $(LIBSESL) $(LIBTRACE)ifdef DWARF2LIBS += $(LIBDIR)/libdwarf.a -lelfendif################################################################## In order to compile IRIX for the simport, we need to export the# interface headers to a place where the kernel can read them.# We assume the ROOT environment variable is set properly.## In the 5.2 based kernels the headers need to go to $ROOT/kern/sys/SIMOS.# In the 5.3 based kernels they need to got to $ROOT/usr/include/sys/SIMOS.# Luckily /usr/include/sys/SIMOS does not exist in the 5.2 kernels, so# try it first and fail over to EXPORTDIR2.##################################################################EXPORTDIR1 = /usr/include/sys/SIMOSEXPORTDIR1 = $(ROOT)/kern/sys/SIMOSEXPORTDIR2 = /kern/sys/SIMOSPPHEADERS = sw_services.h iec.h ospcdefs.hEXPORTHEADERS = os_interface.h simcp0.h simether.h simhd.h simmp.h \ syslimits.h simdetail.h simfirewall.h simmagic.h \ hw_bcopy.h flashhw.h simprom.h $(PPHEADERS)COMMONHEADERS = simtypes.hTARGET = simos-$(CPU).PHONY: warn depsdefault: warn @$(MAKE) -f ../Makefile.ALL deps @$(MAKE) -f ../Makefile.ALL INCLUDE_DEPS=1 $(TARGET)simos-SGI: $(TARGETS) $(LIBS) Makefile LinkOutput $(LD) $(LDFLAGS) -32 -o $(SIMTOOLS)/cpus/simos/$(SUBDIR)/simos $(TARGETS) $(LIBS) $(LIBTCL) -lm -lelfutil @echo "done."simos-SGIN32: $(TARGETS) $(LIBS) Makefile LinkOutput $(LD) $(LDFLAGS) -Wl,-full_got_pages -n32 -o $(SIMTOOLS)/cpus/simos/$(SUBDIR)/simos $(TARGETS) $(LIBS) $(LIBTCL) -lm -lelfutil @echo "done."simos64-SGIN32:$(TARGETS) $(LIBS) Makefile LinkOutput $(LD) $(LDFLAGS) -Wl,-full_got_pages -n32 -o $(SIMTOOLS)/cpus/simos/$(SUBDIR)/simos $(TARGETS) $(LIBS) $(LIBTCL) -lm -lelfutil @echo "done."simos-SGIM4: $(TARGETS) $(LIBS) Makefile LinkOutput $(LD) $(LDFLAGS) -Wl,-full_got_pages -n32 -mips4 -o $(SIMTOOLS)/cpus/simos/$(SUBDIR)/simos $(TARGETS) $(LIBS) $(LIBTCL) -lm @echo "done."simos-SUN: $(TARGETS) $(LIBS) Makefile LinkOutput $(LD) $(LDFLAGS) -o $(SIMTOOLS)/cpus/simos/$(SUBDIR)/simos $(TARGETS) $(LIBS) $(LIBTCL) -R/usr/local/lib -lm -lsocket -lnsl -ldl @echo "done."simos-ALPHA: $(TARGETS) $(LIBS) Makefile LinkOutput $(LD) $(LDFLAGS) -o $(SIMTOOLS)/cpus/simos/$(SUBDIR)/simos $(TARGETS) $(LIBS) $(LIBTCL) -lm @echo "done."simos-X86: $(TARGETS) $(LIBS) Makefile LinkOutput $(LD) $(LDFLAGS) -o $(SIMTOOLS)/cpus/simos/$(SUBDIR)/simos $(TARGETS) $(LIBS) $(LIBTCL) -R/usr/local/lib -lm -ldl @echo "done."# Solaris:simos-X86-solaris: $(TARGETS) $(LIBS) Makefile LinkOutput $(LD) $(LDFLAGS) -o $(SIMTOOLS)/cpus/simos/$(SUBDIR)/simos $(TARGETS) $(LIBS) $(LIBTCL) -lm -ldl -lsocket -lnsl @echo "done."warn: @echo "" @echo "Making $(CPU) SIMOS" @echo " DEFS : `$(FORMAT) $(DEFS)`" @echo " CFLAGS : `$(FORMAT) $(CFLAGS)`" @echo ""LinkOutput: @echo "" @echo "Linking $(CPU) SIMOS" @echo " LDFLAGS : `$(FORMAT) $(LDFLAGS)`" @echo " LIBS : `$(FORMAT) $(LIBS)`"$(C_TARGETS): %.o: %.c @echo "Compiling $(<F)" $(CC) $(CC_OPTS) -c $<deps: ${TARGETS:.o=.d}%.d: %.c @$(CC) -M $(CC_OPTS) $< > $@ifdef INCLUDE_DEPSinclude ${TARGETS:.o=.d}endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -