makefile自动化编译

大神博客链接:
http://blog.csdn.net/haoel/article/details/2886

makefile的格式:

目标文件 :依赖
target… : prerequisites …
command


没有依赖的文件是伪目标
“`

首先 makefile和shell脚本是一样的,makefile里面的都认为是字符串:
makefile自动化编译_第1张图片

运行结果:
这里写图片描述

接下来看一下makefile里面的通配符 :
makefile自动化编译_第2张图片

运行结果:
makefile自动化编译_第3张图片

? * [ ] 在makefile的作用

makefile自动化编译_第4张图片

运行结果:
makefile自动化编译_第5张图片

:=和=的区别:
makefile自动化编译_第6张图片

运行结果:

这里写图片描述

而如果是VA=$(VAR)func.c,就会替换成VAR最后被赋值的字符串 func3.c
这里写图片描述

makefile自动编译实例

touch Makefile文件写入如下:
makefile自动化编译_第7张图片

用make来执行多文件编译过程:

这里写图片描述

用make clean 来删除生成的目标文件:
这里写图片描述

tips

1为什么要用CC来给gcc赋值?
因为这样可以给makefile传递参数,不同平台下的编译器是不一样的,有gcc g++ arm-linux-gcc等,这样子可以提高代码的移值性!
2尽管makefile是在命令行同时指定编译多个文件,但是编译器是独立编译每一个文件的

你可能感兴趣的:(makefile自动化编译)