📄 makefile
字号:
#**************************************************************************# *# PROJECT : MIPS port for uC/OS-II *# *# MODULE : MakeFile *# *# AUTHOR : Michael Anburaj *# URL : http://geocities.com/michaelanburaj/ *# EMAIL: michaelanburaj@hotmail.com *# *# PROCESSOR : MIPS 4Kc (32 bit RISC) - ATLAS board *# *# TOOL-CHAIN : SDE & Cygnus *# *# DESCRIPTION : *# Make file for Ex1 MIPS_UCOS build. Use GNU's make utility to build *# using this file. *# *#*************************************************************************/# **********************************************# Config# **********************************************# linux or winDEVPLF = linux# cygnus or sdeTOOLCHAIN = cygnus# Name of applicationIMAGENAME = ex1# EL or EBENDIAN = EL# Debug option, 1 or 0DEBUG = 0# **********************************************# Tools# **********************************************ifeq ($(TOOLCHAIN),cygnus)CC = mipsisa32-elf-gccLD = mipsisa32-elf-ldOBJCOPY = mipsisa32-elf-objcopyOBJDUMP = mipsisa32-elf-objdumpendififeq ($(TOOLCHAIN),sde)CC = sde-gccLD = sde-ldOBJCOPY = sde-objcopyOBJDUMP = sde-objdumpendififeq ($(DEVPLF),linux)REMOVEFILE = rm -fendififeq ($(DEVPLF),win)REMOVEFILE = delendif# **********************************************# Endianness format# **********************************************ifeq ($(ENDIAN),EL)OFORMAT = elf32-littlemipselseOFORMAT = elf32-bigmipsendif# **********************************************# Directories# **********************************************ROOT = ./..UCOSROOT = ./../..LIBROOT = $(UCOSROOT)/mips_ucos/libMUP_COMMONROOT = $(UCOSROOT)/mips_ucos/commonMUP_ATLASROOT = $(UCOSROOT)/mips_ucos/atlasSRCDIR = $(ROOT)/src $(MUP_COMMONROOT)/src $(MUP_ATLASROOT)/src $(LIBROOT)/srcINCDIR = $(ROOT)/incBINDIR = $(ROOT)/binLINKDIR = $(BINDIR)/linkLIBINCDIR = $(LIBROOT)/incVPATH = $(SRCDIR)# **********************************************# Image file names and map file# **********************************************IMAGE_ELF = $(IMAGENAME).elfIMAGE_REC = $(IMAGENAME).recMAP = $(IMAGENAME).map# **********************************************# Compiler and linker options# **********************************************INCLUDE = -I$(INCDIR) -I$(MUP_COMMONROOT)/inc -I$(MUP_ATLASROOT)/inc -I$(UCOSROOT)/source -I$(LIBINCDIR)W_OPTS = -Wimplicit -Wformat#CC_OPTS = -g -c -O2 -$(ENDIAN) $(INCLUDE) -D$(ENDIAN) -mips32 $(W_OPTS) CC_OPTS = -g -c -O2 -$(ENDIAN) $(INCLUDE) -D$(ENDIAN) -mips32 -fno-builtin $(W_OPTS)ifeq ($(TOOLCHAIN),sde)CC_OPTS_A = $(CC_OPTS) -D_ASSEMBLER_ -D_SDE_elseCC_OPTS_A = $(CC_OPTS) -D_ASSEMBLER_endifLD_SCRIPT = $(ROOT)/bin/link/link.xn# earlier it was -oformat instead of --oformatLD_OPTS = -g -T $(LD_SCRIPT) -o $(IMAGE_ELF) -Map $(MAP) --oformat $(OFORMAT)# **********************************************# Files to be compiled# **********************************************SRC_C = $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.c))SRC_S = $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.S))SRC = $(SRC_C) $(SRC_S)OBJ_C = $(notdir $(patsubst %.c, %.o, $(SRC_C)))OBJ_S = $(notdir $(patsubst %.S, %.o, $(SRC_S)))OBJ = $(OBJ_C) $(OBJ_S)# **********************************************# Rules# **********************************************.PHONY : allall : $(IMAGE_REC)$(IMAGE_REC) : $(IMAGE_ELF) $(OBJCOPY) -O srec $(IMAGE_ELF) $(IMAGE_REC)$(IMAGE_ELF) : $(OBJ) $(LD) $(LD_OPTS) $(OBJ)$(OBJ_C) : %.o : %.c $(CC) $(CC_OPTS) -o $@ $<$(OBJ_S) : %.o : %.S $(CC) $(CC_OPTS_A) -o $@ $<$(IMAGE_ELF) : $(LD_SCRIPT)$(OBJ) : ./Makefile.PHONY : clean dependclean : $(REMOVEFILE) *.o $(REMOVEFILE) *.map $(REMOVEFILE) *.elf $(REMOVEFILE) *.recdepend : $(CC) $(INCLUDE) -M $(SRC) > depend.mk-include depend.mk
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -