使用makefile替换Keil进行编译
2013-04-07 23:38
363 查看
KEIL_PATH = C:\Keil\ARM ARMCC = $(KEIL_PATH)\BIN40\armcc ARMASM = $(KEIL_PATH)\BIN40\armasm ARMAR = $(KEIL_PATH)\BIN40\armar ARMLINK = $(KEIL_PATH)\BIN40\armlink FROMELF = $(KEIL_PATH)\BIN40\fromelf ################################################# # 编译选项 ################################################# CFLAGS := -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork CMACRO := ASMFLAGS := --cpu Cortex-M3 -g --apcs=interwork --pd "__MICROLIB SETA 1" LINKFLAGS := --cpu Cortex-M3 --library_type=microlib --strict MAP := --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\stm32 OBJMAP := .\output\*.map OBJHTM := .\output\*.htm OBJAXF := .\output\*.axf OBJS = .\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\delay INC += -I.\system\sys INC += -I.\system\usart INC += -I.\hardware\key INC += -I.\hardware\led INC += -I$(KEIL_PATH)\INC\St\STM32F10x INC += -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).axf del $(OBJHTM) $(OBJAXF) $(OBJS) # 若只是生成LIB库,只需要以下一条命令就可以了 # $(ARMAR) $(APPNAME).lib -r $(OBJS) .PHONY : clean clean: del $(OBJS) *.map *.htm
相关文章推荐
- 使用makefile替换Keil进行编译
- 用keil像makefile那样选择文件进行编译
- make 指定使用特定的makefile文件进行编译
- 在linux下如何使用Makefile对fortran程序进行编译
- QT使用MySql的配置(使用addLibraryPath载入插件),编译QT的MySql驱动问题及解决方案(自己使用libmysql.lib进行编译mysql.pro,万不得已可以查看Makefile.Debug以解决问题)
- 在Linux平台上使用Cmake进行交叉编译替代嵌入式平台所使用的Makefile
- 关于使用Makefile进行GCC编译报错问题解决方法
- linux下使用CmakeLists.txt生成makefile文件进行编译
- Qt5.4+OpenCV3.0使用pkg-config进行配置编译
- Ubuntu16.04_ROS_kinetic下如何使用OpenCV2.4进行编译
- Intellij IDEA 使用jrebel运行spring-boot并实现自动编译进行热部署
- 【原+转】用CMake代替makefile进行跨平台交叉编译
- 使用matlab进行mex编译时的路径问题mexopts
- 解决使用NDK进行编译时出现undefined reference to function的问题
- 062.#IfDef 使用宏来进行条件编译
- Makefile中使用隐含规则来编译程序
- linux makefile 只能使用Tab键进行文本缩进
- Linux系统平台下关于GCC编译及使用的方法(-Werror,它要求GCC将所有的警告当成错误进行处理 )
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- Symbian 编程总结-工具与扩展-让Symbian SDK使用最新的GCCE进行编译