1.makefile的命名(两种) - makefile
- Makefile
2. makefile的规则 规则的三个要素:目标、依赖、命令
3. 多文件的makefile的编写(一个源文件只重新编译改变的文件) - makefile可以有多个规则,当第一个规则的的命令在执行的时候发现没有相应的依赖,就在下面的规则中找。最上面的规则的目标是终极目标一定写在最上面,也就是最后要生成的文件。
- 多文件Makefile的更新原理(基于时间)
4. makefile中的变量 -
自定义变量 obj=main.o add.o sub.o 引用的时候直接使用 $(obj)
-
自动变量() $< : 规则中的第一个依赖 $@:规则中的目标 $^: 规则中所有的依赖 -
模式自动匹配 % 子规则中:
:
-
makefile维护的变量(通常大写,自己可以修改) CC:cc(即gcc) APPFLAGS:预处理使用的选项 CFLAGS:编译的时候使用的选项 LDFLAGS:链接库使用的选项 5. makefile中的函数(都是有返回值) - wildcard 查找当前目录下所有.c文件,返回值给src
src=$(wildcard ./*.c) - patsubst 替换所有.c文件为.o文件
obj=$(patsubst ./%.c, ./%.o, $(src))
6. make clean 在makefile最后加入clean的目标,为了重新编译所有文件得删除原来生成的文件
7. 最终的简单的makefile
|