1、 make 工具
make工具仅编译被修改的文件
2、makefile 文件
2.2 、makefile 语法
2.2.1 、makefe 规则格式
目标...:依赖文件集合
命令1
命令2
...
命令列表中的每条命令必须以TAB键开始,不能使用空格
命令列表中的每条命令必须以TAB键开始,不能使用空格
命令列表中的每条命令必须以TAB键开始,不能使用空格
如果没有指定终极目标,那么第一个规则的目标就是终极目标
make命令会为Makefile中的每个以TAB开始的命令创建一个Shell进程去执行.
例如1:
main: main.o input.o calc.o
gc -o main main,oi input.o calc.o
例如2:
分析例子2执行过程:
2.2.2、makefile 变量
makefile中变量只有字符串
例:
object = main.o input .o cacl.o 变量定义赋值
main : $(object)
gcc -o main $(object) 变量使用:$(变量名)
make 赋值符 “=”
变量的有效值等于最后一次有效值
make 赋值符 “:=”
变量的有效值等于前面定义好的值
make 赋值符 “?=”
变量前面是否已经赋值:
1、如果前面赋值使用前面的值
2、如果没有赋值使用当前值
make 变量追加符 “+=”
2.2.3 模式规则
2.2.4 自动化变量
2.2.5 makefile 伪目标
.PHONY:clean: 将clean目标声明成伪目标
作用:使用伪目标主要是为了避免Makefile中定义的只执行命令的目标和工作目录下的实际文件名字冲突,有时候我们需要编写一个规则用来执行一些命令。
2.2.6 makefile 条件判断
1、ifeq
2、ifneq
3、ifdef
4、ifndef
2.2.6 makefile 函数的使用
$(函数名 集合参数)
或者
${函数名 集合参数}