什么是Makefile
- 工程中的文件不计其数,其按类型、功能和模块放在若干个目录中
- Makefile文件定义了一系列的规则来指定哪些文件需要先编译,哪些文件后编译,哪些文件需要重新编译
- Makefile带来的好处就是“自动化编译”,一旦写好,可以用make命令整个工具完成自动编译
- make是一个命令工具,解释makefile文件中指令的命令工具
文件命名和规则
- 目标:生成的可执行文件
- 依赖:生成目标所需要的文件,可以有多条
Makefile的其他规则都是为第一条规则服务的,其他规则执行完后才会执行第一条规则
Makefile指令
app:sub.c mult.c
gcc sub.c mult.c -o app
工作原理
- 在命令执行前,需要检查规则中的依赖是否存在;如果存在则执行命令,不存在则检查其他规则
- 检查更新,在执行规则的命令时,会比较目标与依赖文件的时间:如果依赖的时间比目标的时间晚,需要重新生成目标。如果依赖的时间比目标的时间早,目标不需要更新
变量
注意:在访问过程中使用$()来访问变量
模式匹配
函数
第一个函数:
第二个函数: