📄 makefile.common
字号:
## ----------------------------------------------------------------------# T-Kernel## Copyright (C) 2004 by Ken Sakamura. All rights reserved.# T-Kernel is distributed under the T-License.# ----------------------------------------------------------------------## Version: 1.01.00# Released by T-Engine Forum(http://www.t-engine.org) at 2004/6/28.## ----------------------------------------------------------------------### Makefile for gmake# sysmain (common description)## source file dependencies (generated automatically)DEPS = DependenciesDEPENDENCIES_OUTPUT := $(DEPS)# ----------------------------------------------------------------------------# T-Kernel common standard libraryinclude ../../../tstdlib/Makefile.tstdlib# user maininclude ../../../usermain/Makefile.usermain# kernel install pathKERNEL_INSTALLDIR = ../../../bin/$(TETYPE)_$(MACHINE)# kernel modules pathOBJ_TKERNEL_PATH = ../../../tkernel/build/$(TETYPE)_$(MACHINE)OBJ_SYSMGR_PATH = ../../../sysmgr/build/$(TETYPE)_$(MACHINE)OBJ_SYSINIT_PATH = ../../../sysinit/build/$(TETYPE)_$(MACHINE)# ----------------------------------------------------------------------------# target objectsTARGET_RAM = kernel-ram.sysTARGET_ROM = kernel-rom.romTARGET_CRT0 = icrt0.oS = ../../src# common source filesSRC += inittask_main.cVPATH += $(S)HEADER += $(S)# additional source files (cpu-dependent)VPATH += ../../../sysdepend/cpu/$(MACHINE)HEADER += ../../../sysdepend/cpu/$(MACHINE)# additional source files (device-dependent)VPATH += ../../../sysdepend/device/$(TETYPE)_$(MACHINE)HEADER += ../../../sysdepend/device/$(TETYPE)_$(MACHINE)OBJ = $(addsuffix .o, $(basename $(SRC)))# T-Kernel modulesK_OBJ += $(OBJ_TKERNEL_PATH)/tkernel.o \ $(OBJ_SYSMGR_PATH)/sysmgr.o \ $(OBJ_SYSINIT_PATH)/sysinit.o# gcc standard librarySTDLIB = -lgcc# additional libraryLDSYSLIBS += -ltk -ltm -lsvcLDLIBS += $(LDSYSLIBS) $(LDUSRLIBS) $(LDSYSLIBS)# linker optionsLDFLAGS += -static -nostdlib -T $(LINKSCRIPT)LINKSCRIPT = kernel-ram.lnk$(TARGET_ROM): LINKSCRIPT = kernel-rom.lnk# compiler optionsCFLAGS += $(CFLAGS_WARNING)CPPFLAGS += -DTKERNEL_ONLY# ----------------------------------------------------------------------------.PHONY: all clean installALL = $(TARGET_RAM) $(TARGET_RAM:%.sys=%.map) $(TARGET_RAM:%.sys=%.mot)ALL += $(TARGET_ROM) $(TARGET_ROM:%.rom=%.map) $(TARGET_ROM:%.rom=%.mot)all: tkernel sysmgr sysinit $(ALL) $(TARGET_CRT0)# objects for disk loading (RAM)$(TARGET_RAM): $(TARGET_CRT0) $(OBJ) $(K_OBJ) $(I_OBJ) $(CC) $(TARGET_ARCH) $(LDFLAGS) $^ $(LDLIBS) $(STDLIB) $(OUTPUT_OPTION)$(TARGET_RAM:%.sys=%.map): $(TARGET_RAM) $(NM) $(NMFLAGS) $< > $@$(TARGET_RAM:%.sys=%.mot): $(TARGET_RAM) $(OBJCOPY) $(OUTPUT_SREC) $< $@# objects for ROM$(TARGET_ROM): $(TARGET_CRT0) $(OBJ) $(K_OBJ) $(I_OBJ) $(CC) $(TARGET_ARCH) $(LDFLAGS) $^ $(LDLIBS) $(STDLIB) $(OUTPUT_OPTION)$(TARGET_ROM:%.rom=%.map): $(TARGET_ROM) $(NM) $(NMFLAGS) $< > $@$(TARGET_ROM:%.rom=%.mot): $(TARGET_ROM) $(OBJCOPY) $(OUTPUT_SREC) $< $@tkernel: ( cd $(OBJ_TKERNEL_PATH) ; make )sysmgr: ( cd $(OBJ_SYSMGR_PATH) ; make )sysinit: ( cd $(OBJ_SYSINIT_PATH) ; make )clean: ( cd $(OBJ_TKERNEL_PATH) ; make clean ) ( cd $(OBJ_SYSMGR_PATH) ; make clean ) ( cd $(OBJ_SYSINIT_PATH) ; make clean ) $(RM) $(OBJ) $(TARGET_CRT0) $(ALL) $(DEPS)install: $(addprefix $(EXE_INSTALLDIR)/, $(ALL))$(addprefix $(EXE_INSTALLDIR)/, $(TARGET)): $(EXE_INSTALLDIR)/%: %# generate dependencies$(DEPS): ; touch $(DEPS)include $(DEPS)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -