Makefile实用干货
- 3.Makefile
3.Makefile
-
定义:用于 统一编译 的工具,在 Makefile 里面写好 该怎么编译,然后输入make,即可直接运行当前文件夹里的 Makefile,实现统一编译
-
怎么写:
main:add.c div.c
gcc add.c div.c -c -o main
- main 为 目标,add.c div.c 为 依赖,gcc add.c div.c -c -o main 为 指令
- 指令前必须要有缩进
-
特性:
-
Makefile 里可以有 多条编译规则,但是其他的规则 必须能为 第一条规则服务。如果不能,那么这条规则就不会执行,只 执行第一条规则
- 如图,其他规则都是为第一条规则提供服务
-
-
检查更新:当 Makefile 中的依赖没有更新时,使用 make命令,就不会使用 Makefile 了,因为这时main.o已是最新
-
优化:
-
变量
-
定义方法和一些特殊符号
-
实际例子
-
-
模式匹配
和上图是同一个例子。用模式匹配了,就不需要那么多辅助的规则了
-
函数
-
wildcard 作用是找到并展示所有符合条件的文件,使用:$(wildcard 文件1 文件2)
-
patsubst 作用是转变类型,只要符合条件就行,使用:
表示如果 x.c 和 bar.c 符合 %.c,那么就将它们转换为 %.o 类型的
-
-
-
汇总(如果没有疑问,说明都掌握了,附:clean的用法)