📄 makerules.sysdepend
字号:
## makerules# for GNU make## application standard rules (std_vr5500)#.EXPORT_ALL_VARIABLES:# suffixifeq ($(gcc_mips), 1) SUFFIX_LIB = .e1 SUFFIX_INST = .e1endififneq ($(filter G0, $(options)), ) SUFFIX_LIB = .G0endif# command pathifeq ($(origin gcc_mips), undefined) gcc_mips := 2endififeq ($(filter "$(origin GNUmips)", $(TOOL_ORIGIN)), ) GNUmips := $(GNU_BD)/mips64el-unknown-tkernelendififeq ($(filter "$(origin GNUvr)", $(TOOL_ORIGIN)), ) ifeq ($(gcc_mips), 2) GNUvr := $(GNUmips) else GNUvr := $(GNU_BD)/mipsvr5el-unknown-tkernel endifendififneq ($(filter "$(origin GNUvr)", $(TOOL_ORIGIN)), ) PATH := $(PATH):$(GNUvr)/binendififneq ($(filter "$(origin GNUmips)", $(TOOL_ORIGIN)), ) PATH := $(PATH):$(GNUmips)/binendif# ----- T-Engine/VR5500(MIPS4) -----------------------------------------------# GCC environmentTARGET_ARCH =_GNU_CONFIG = mipsvr5el-unknown-tkernel_GNUmips = $(GNUvr)_CC = $(GNUvr)/bin/gccvrifeq ($(gcc_mips), 2) _GNU_CONFIG = mips64el-unknown-tkernel _GNUmips = $(GNUmips) _CC = $(GNUmips)/bin/gccmips TARGET_ARCH =endif# target type_CPUTYPE_FLAGS = -march=vr5500_CPUTYPE_FLAGS_AS = -march=vr5500_MACHINE_ = _STD_VR5500_# default languageifndef LANGUAGE LANGUAGE = JAPANESEendif# .sdata .sbss data size_SDSIZE_FLAGS =ifneq ($(filter G0 dl so, $(options)), ) _SDSIZE_FLAGS = -G0 _SDSIZE_LDFLAGS = -G0 -Wl,-G0endif# ABI_ABI_FLAGS = -mabi=o64# code set_CODESET_FLAGS =ifneq ($(filter dl so, $(options)), ) _CODESET_CFLAGS = -mabicalls _CODESET_LDFLAGS = -mabicallsendif### C ###CC := $(_CC)OUTPUT_OPTION = -o $@ifeq ($(mode), debug) CFLAGS = -g CPPFLAGS = $(HEADER:%=-I%) -D$(_MACHINE_) $(_VARIATION_:%=-D%) -DDEBUGelse CFLAGS = -O2 CPPFLAGS = $(HEADER:%=-I%) -D$(_MACHINE_) $(_VARIATION_:%=-D%)endifCFLAGS += $(_CPUTYPE_FLAGS) $(_ABI_FLAGS) $(_CODESET_FLAGS) $(_CODESET_CFLAGS) $(_SDSIZE_FLAGS)CFLAGS_WARNING = -Wall -Wno-format -Wno-strict-aliasingCFLAGS_WARNING_FULL = -pedantic -W -Wall -Wno-formatifneq ($(USE_CPP), 1) CFLAGS += -ffreestanding CFLAGS_WARNING += -Wno-main CFLAGS_WARNING_FULL += -Wno-mainendifCOMPILE.c = $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -cLINK.c = $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)%.o: %.c; $(.o.c) define .o.c $(.@)$(CUTDEPS) $(COMPILE.c) $< $(OUTPUT_OPTION) endef%.s: %.c; $(.s.c) define .s.c $(.@)$(CUTDEPS) $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -S $< endef%.i: %.c $(CC) $(TARGET_ARCH) $(CFLAGS) $(CPPFLAGS) -E $< $(OUTPUT_OPTION)### C++ ###CXX := $(_CC)CXXFLAGS = $(CFLAGS)COMPILE.cc = $(CXX) $(TARGET_ARCH) $(CXXFLAGS) $(CPPFLAGS) -cLINK.cc = $(CXX) $(TARGET_ARCH) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)%.o: %.cc; $(.o.cc) define .o.cc $(.@)$(CUTDEPS) $(COMPILE.cc) $< $(OUTPUT_OPTION) endef%.s: %.cc; $(.s.cc) define .s.cc $(.@)$(CUTDEPS) $(CXX) $(TARGET_ARCH) $(CXXFLAGS) $(CPPFLAGS) -S $< endef%.i: %.cc $(CXX) $(TARGET_ARCH) $(CXXFLAGS) $(CPPFLAGS) -E $< $(OUTPUT_OPTION)### asm ###AS = $(_GNUmips)/bin/asifeq ($(mode), debug) ASFLAGS =else ASFLAGS =endififneq ($(filter dl so, $(options)), ) ASFLAGS += -Wa,-KPICendifASFLAGS += $(_CPUTYPE_FLAGS) $(_ABI_FLAGS) $(_CODESET_FLAGS) $(_SDSIZE_FLAGS)ASFLAGS.s = $(_CPUTYPE_FLAGS_AS) $(_ABI_FLAGS) $(_CODESET_FLAGS) $(_SDSIZE_FLAGS)COMPILE.S = $(CC) $(TARGET_ARCH) $(ASFLAGS) $(CPPFLAGS) -cCOMPILE.s = $(AS) $(ASFLAGS.s)%.o: %.S; $(.o.S) define .o.S $(.@)$(CUTDEPS) $(COMPILE.S) $< $(OUTPUT_OPTION) endef%.o: %.s; $(.o.s) define .o.s $(COMPILE.s) $< $(OUTPUT_OPTION) endef%.i: %.S $(CC) $(TARGET_ARCH) $(ASFLAGS) $(CPPFLAGS) -E $< $(OUTPUT_OPTION)### linker ###LD = $(_GNUmips)/bin/ldifeq ($(mode), debug) LDFLAGS = $(LIBDIR:%=-L%)else LDFLAGS = $(LIBDIR:%=-L%)endifLDFLAGS += $(_CPUTYPE_FLAGS) $(_ABI_FLAGS) $(_CODESET_FLAGS) $(_CODESET_LDFLAGS) $(_SDSIZE_LDFLAGS)LIBDIR = $(COMMONLIB)LOADLIBES =LDOBJS =LDLIBS =# default relocatable formatifndef REL_TYP REL_TYP = rendif# additional linker optionLDFLAGS2 = -staticifneq ($(filter sl, $(options)), ) LDFLAGS2 = -staticendififneq ($(filter dl so, $(options)), ) LDFLAGS2 = SUFFIX_LIB = .dlendifLDFLAGS3 = -static -T $(COMMONLIB)/static.lnkSTART_ADR =# linker option for build the executablesLINK.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) $(LDFLAGS2) $(START_ADR)# linker option for build the executables (lodspg : static address)LINK_TK.o = $(CC) $(TARGET_ARCH) -specs=specs-tk $(LDFLAGS) $(LDFLAGS3) $(START_ADR)# linker option for merge the objectsLINK_R.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) -r -nostdlib# linker option for merge the objects with libraryLINK_A.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) -r# build the executable (relocation only)LOCATE.o = $(CC) $(TARGET_ARCH) $(LDFLAGS) -nostdlib $(LDFLAGS3) $(START_ADR)%: %.o $(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)%.out: %.o $(LINK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)%.abs: %.o $(LINK_TK.o) $(LDOBJS) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION)### library ###AR = $(_GNUmips)/bin/arARFLAGS = rvRANLIB = $(_GNUmips)/bin/ranlib(%): % $(AR) $(ARFLAGS) $@ $%### name list ###NM = $(_GNUmips)/bin/nmNMFLAGS = -C -n%.map: % $(NM) $(NMFLAGS) $< > $@%.map: %.out $(NM) $(NMFLAGS) $< > $@%.map: %.abs $(NM) $(NMFLAGS) $< > $@%.map: %.dll $(NM) $(NMFLAGS) $< > $@### databox ###DBCPPFLAGS = -D$(_MACHINE_) $(_VARIATION_:%=-D%)DB_CPP = $(CPP) -nostdinc -traditional -P $(DATABOX_HEADER:%=-I%) $(DBCPPFLAGS)DB = $(ETCBIN)/databoxDBFLAGS =DBSRCFLAGS = -sDATABOX = $(DB) $(DBFLAGS)%.dbx: %.d $(DB_CPP) $< $@.tmp $(DATABOX) $@.tmp $@ $(RM) $@.tmp%.fsn: %.f $(DB_CPP) $< $@.tmp $(DATABOX) -n $@.tmp $@ $(RM) $@.tmp%.c: %.d $(DB_CPP) $< $@.tmp $(DATABOX) -n $(DBSRCFLAGS) $@.tmp $@ $(RM) $@.tmp### other ###ifndef CPP CPP = $(GNU_BD)/bin/$(_GNU_CONFIG)-cppendifSTRIP = $(_GNUmips)/bin/strip --strip-unneededBZCOMP_FLAGS = -vOBJCOPY = $(GNU_BD)/bin/$(_GNU_CONFIG)-objcopyOUTPUT_SREC = -O srec --srec-forceS3 --srec-len 32### additional setting #### CPU type (unknown)CPU_TYPE = 0### application library ###LOADLIBES =LDOBJS =ifeq ($(USE_CPP), 1) LDLIBS = -lsupc++ -lgcc -ltksesvc -lsvcelse LDLIBS = -ltksesvc -lsvcendififneq ($(USE_LIBCPP), 0) LDLIBS := $(USE_LIBCPP:%=-lcpp%) -ltf $(LDLIBS)endif###ifneq ($(USE_MT), 0) # use multi task library LDFLAGS2 += -Wl,--defsym,_usemt_=1else LDFLAGS2 += -Wl,--defsym,_usemt_=0endififdef MAKE_DLL ### make DLL options LDFLAGS2 += -shared -Wl,--no-undefinedelse ifneq ($(filter dl, $(options)), ) ### create name list %.map: % $(NM) $(NMFLAGS) $< | $(BD)/etc/chkmain > $@ endifendif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -