Makefile文件
功能就是对项目的管理,它可以推导时间戳对比较新的文件,并对其进行编译
Makefile中写的编译文件的规则
预处理
gcc -E test.c -o test.i
编译
gcc -S test.i -o test.s
汇编
gcc -c test.s -o test.o`
(-c只编译不链接)
链接
gcc test.o -o test
make —可执行文件
这个可执行程序就是用来解析Makefile文件
all: //标签
gcc test.c -o test //gcc前是tab,不能写出空格
clean: //标签
rm test
@表示命令执行时不在终端显示,执行结果会显示
@gcc test.c -o test
@echo "make success"
Makefile的规则
目标:依赖
命令
Makefile中变量
Makefile中定义变量的方法和shell中一样
Makefile在变量的引用
var=hello
$(var) 或者 ${var}
链接加减法
主函数:
头文件
函数:
makefile文件
debug
= //普通赋值
获取等号后变量的最后一次赋值的结果
:= //立即赋值
不管等号后再有无赋值立即获取当前的结果
?= //询问赋值
询问?=前 的变量,是否被赋值过
没有赋值过,本次赋值成立
否则本次赋值不成立
+= //附加赋值
在原结果后附加新的值
特殊变量:
$@: 目标
$^: 所有依赖文件
$<: 第一个依赖
$*: 不包括扩展名的目标文件
使用变量编写makefile如上