使用makefile替换Keil进行编译

来源:互联网 发布:json数组转list 编辑:程序博客网 时间:2024/05/29 08:38
KEIL_PATH = C:\Keil\ARMARMCC = $(KEIL_PATH)\BIN40\armccARMASM = $(KEIL_PATH)\BIN40\armasmARMAR = $(KEIL_PATH)\BIN40\armarARMLINK = $(KEIL_PATH)\BIN40\armlinkFROMELF = $(KEIL_PATH)\BIN40\fromelf################################################## 编译选项#################################################CFLAGS := -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interworkCMACRO :=ASMFLAGS := --cpu Cortex-M3 -g --apcs=interwork --pd "__MICROLIB SETA 1"LINKFLAGS := --cpu Cortex-M3 --library_type=microlib --strictMAP := --autoat --summary_stderr --info summarysizes --map --xref --callgraph --symbols INFO := --info sizes --info totals --info unused --info veneers#--cpu Cortex-M3 *.o --library_type=microlib --strict --scatter "TEST.sct" #--autoat --summary_stderr --info summarysizes --map --xref --callgraph --symbols #--info sizes --info totals --info unused --info veneers #--list ".\TEST.map" #-o "TEST.axf" TARGET = .\output\stm32OBJMAP := .\output\*.mapOBJHTM := .\output\*.htmOBJAXF := .\output\*.axfOBJS = .\system\delay\delay.o \    .\system\sys\sys.o \        .\system\usart\usart.o \    .\hardware\key\key.o \    .\hardware\led\led.o \       .\user\test.o \    .\user\STM32F10x.o   INC += -I.\system\delayINC += -I.\system\sysINC += -I.\system\usartINC += -I.\hardware\keyINC += -I.\hardware\ledINC += -I$(KEIL_PATH)\INC\St\STM32F10xINC += -I$(KEIL_PATH)\RV31\INC%.o:%.c$(ARMCC) $(CFLAGS) $(INC) $(CMACRO) $< -o $@%.o:%.s$(ARMASM) $(ASMFLAGS) $(INC) $(CMACRO) $< -o $@arm7:$(OBJS)$(ARMLINK) $(LINKFLAGS) --libpath "$(KEIL_PATH)\RV31\LIB" --scatter start.sct $(MAP) $(INFO) --list $(TARGET).map $^ -o $(TARGET).axf$(FROMELF) --bin -o $(TARGET).bin $(TARGET).axf$(FROMELF) --i32 -o $(TARGET).hex $(TARGET).axfdel $(OBJHTM) $(OBJAXF) $(OBJS)#   若只是生成LIB库,只需要以下一条命令就可以了 #$(ARMAR) $(APPNAME).lib -r $(OBJS).PHONY : cleanclean:del $(OBJS) *.map *.htm