实例1:Makefile编译链接简单.c函数

example.c

Makefile

 exe: example.c
gcc example.c -o exe clean:
rm exe

执行效果:

实例2:

 CC        = arm-linux-gcc
LD = arm-linux-ld
OBJCOPY = arm-linux-objcopy
OBJDUMP = arm-linux-objdump
AR = arm-linux-ar INCDIR := $(shell pwd)
# C预处理器的flag,flag就是编译器可选的选项
CPPFLAGS := -nostdlib -nostdinc -I$(INCDIR)/include
# C编译器的flag
CFLAGS := -Wall -O2 -fno-builtin #导出这些变量到全局,其实就是给子文件夹下面的Makefile使用
export CC LD OBJCOPY OBJDUMP AR CPPFLAGS CFLAGS objs := start.o led.o clock.o uart.o main.o stdio.o #变量在声明时需要给予初值,在使用时需要在变量名前加上$,给变量加上括号是为了更加安全地使用这个变量
#如果需要使用真实的$符号,那么需要用$$来表示
uart.bin: $(objs)
$(LD) -Tlink.lds -o uart.elf $^
$(OBJCOPY) -O binary uart.elf uart.bin
$(OBJDUMP) -D uart.elf > uart_elf.dis
gcc mkv210_image.c -o mkx210
./mkx210 uart.bin .bin lib/libc.a:
cd lib; make; cd .. #$@表示规则中的目标文件集,在模式规则中,如果有多个目标,那么其就是匹配于目标中模式定义的集合;
#$<依赖目标中的第一个目标名字,如果依赖目标是以模式(即"%")定义的,那么“$<”将是符合模式的一系列的文件集
%.o : %.S
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< -c %.o : %.c
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< -c clean:
rm *.o *.elf *.bin *.dis mkx210 -f

最新文章

  1. Mysql完全手册(笔记二,使用数据与性能优化)
  2. SE16N使用方案总结
  3. sql server 导出表结构到 word
  4. javase基础复习攻略《六》
  5. 微信JS SDK使用权限签名算法
  6. Delphi中nil和null的区别
  7. 触摸屏校准tslib的配置文件
  8. Using innodb_large_prefix to avoid ERROR #1071,Specified key was too long; max key length is 1000 bytes
  9. HDU-5373 The shortest problem
  10. ReadingNotes@02-12-2013
  11. 谈谈文件增量同步算法:RSYNC和CDC
  12. WebGIS中使用ZRender实现前端动态播放轨迹特效的方案
  13. v9.5.2上传缩略图/附件提示“undefined”
  14. 使用NPOI导出图片到EXCEL
  15. nginx的自动化安装和启停脚本
  16. Python并发编程之消息队列补充及如何创建线程池(六)
  17. Spring AOP的实现及源码解析
  18. .net core Jenkins持续集成Linux、Docker、K8S
  19. 函数indexOf()和lastIndexOf()
  20. android -------- ConstraintLayout 宽高比和偏移量比(三)

热门文章

  1. Hibernate中的锁机制
  2. java进阶之反射:反射基础之如何获取一个类以及如何获取这个类的所有属性和方法(2)
  3. JVM学习(2)——技术文章里常说的堆,栈,堆栈到底是什么,从os的角度总结
  4. HTML5 学习总结(三)——本地存储
  5. Dojo前端开发框架与jQuery前端开发框架,对比分析总结
  6. 自己动手,实现一种类似List&lt;T&gt;的数据结构(二)
  7. 如何在SSM项目配置springMVC校验框架validator
  8. 【QuickHit项目实例】
  9. android 模拟2048
  10. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App