Chinaunix首页 | 论坛 | 博客
  • 博客访问: 306335
  • 博文数量: 63
  • 博客积分: 1482
  • 博客等级: 上尉
  • 技术积分: 1185
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-12 19:06
个人简介

hello world!

文章分类

全部博文(63)

分类: LINUX

2011-03-20 16:35:01


个人Makefile通用模板,应用于《》

  1. CC = arm-linux-gcc        # 编译器
  2. LD = arm-linux-ld #连接器
  3. AR = arm-linux-ar #汇编器
  4. OBJCOPY = arm-linux-objcopy #格式转换
  5. OBJDUMP = arm-linux-objdump #反汇编

  6. INCLUDEDIR     := $(shell pwd)/include #列出头文件
  7. CFLAGS         := -Wall -O2                 # 编译器参数
  8. CPPFLAGS     := -nostdinc -I$(INCLUDEDIR) # 头文件

  9. export     CC LD OBJCOPY OBJDUMP INCLUDEDIR CFLAGS CPPFLAGS
  10. #输出为环境变量

  11. objs := start.o main.o uart0_init.o interrupt.o nand.o lib/libc.a
  12. #目标文件

  13. stdio.bin: $(objs) #最终生成执行文件
  14.     ${LD} -Tmem.lds -o stdio_elf $^
  15.     ${OBJCOPY} -O binary -S stdio_elf $@
  16.     ${OBJDUMP} -D -m arm stdio_elf > memory.dis
  17.     ${OBJDUMP} -dx stdio_elf > memory.map
  18.     rm -f stdio_elf *.o

  19. .PHONY : lib/libc.a #静态库
  20. lib/libc.a:
  21.     cd lib; make; cd .. #跳到子文件中执行Makefile
  22.     
  23. %.o:%.c            #生成依赖关系
  24.     ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<

  25. %.o:%.S            #生成依赖关系
  26.     ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<

  27. clean:
  28.     make clean -C lib
  29.     rm -f stdio.bin memory.dis memory.map
阅读(1580) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~