📄 makerules.sysdepend
字号:
## makerules# for GNU make## application standard rules (std_sh7727)#.EXPORT_ALL_VARIABLES:# command pathifeq ($(filter "$(origin GNUsh)", $(TOOL_ORIGIN)), ) GNUsh := $(GNU_BD)/sh-unknown-tkernelendififneq ($(filter "$(origin GNUsh)", $(TOOL_ORIGIN)), ) PATH := $(GNUsh)/bin:$(PATH)endifPATH := .:$(PATH)# ----- T-Engine/SH7727(SH3DPS) ----------------------------------------------# GCC environmentTARGET_ARCH =# target type_MACHINE_ = _STD_SH7727__CPUTYPE_FLAGS =# default languageifndef LANGUAGE LANGUAGE = JAPANESEendif### build option ###CFLAGS +=CPPFLAGS +=ASFLAGS +=LDFLAGS +=### C ###CC := $(GNUsh)/bin/gccshOUTPUT_OPTION = -o $@ifeq ($(mode), debug) CFLAGS = -g CPPFLAGS = $(HEADER:%=-I%) -D$(_MACHINE_) -DDEBUGelse CFLAGS = -O2 CPPFLAGS = $(HEADER:%=-I%) -D$(_MACHINE_)endifCFLAGS += $(_CPUTYPE_FLAGS)CFLAGS_WARNING = -Wall -Wno-formatCFLAGS_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 := $(GNUsh)/bin/gccshCXXFLAGS = $(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 = $(GNUsh)/bin/asifeq ($(mode), debug) ASFLAGS =else ASFLAGS =endifASFLAGS += $(_CPUTYPE_FLAGS)ASFLAGS.s = -littleCOMPILE.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 = $(GNUsh)/bin/ldifeq ($(mode), debug) LDFLAGS = $(LIBDIR:%=-L%)else LDFLAGS = $(LIBDIR:%=-L%)endifLDFLAGS += $(_CPUTYPE_FLAGS)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 =endifLDFLAGS3 = -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 = $(GNUsh)/bin/arARFLAGS = rvRANLIB = $(GNUsh)/bin/ranlib(%): % $(AR) $(ARFLAGS) $@ $%### name list ###NM = $(GNUsh)/bin/nmNMFLAGS = -C -n%.map: % $(NM) $(NMFLAGS) $< > $@%.map: %.out $(NM) $(NMFLAGS) $< > $@%.map: %.abs $(NM) $(NMFLAGS) $< > $@%.map: %.dll $(NM) $(NMFLAGS) $< > $@### databox ###DBCPPFLAGS = -D$(_MACHINE_)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/sh-unknown-tkernel-cppendifSTRIP = $(GNUsh)/bin/strip --strip-unneededBZCOMP_FLAGS = -vOBJCOPY = $(GNU_BD)/bin/sh-unknown-tkernel-objcopyOUTPUT_SREC = -O srec --srec-forceS3 --srec-len 32### additional setting #### CPU type (SH3)CPU_TYPE = 0x0a77### 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 CFLAGS += -fPIC 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 + -