一个项目中有太多的cpp文件,.h头文件等,编译的时候可能有依赖关系,即需要确定哪些文件需要先编译,哪些文件需要后编译,由于文件太多,当某个文件修改后需要重新编译,再去数哪些需要编译的文件是不合适的,不如定义一个文件,可以用一条指令就能运行。
这就是Makefile文件,运行命令即make -j16,可以指定处理器数量加快运算速度。
一.原理和规则
例1:注意缩进
例2:下面所有语句为第一条语句服务,第一条语句依赖无法满足就会到下面找,先执行下面语句再重新检查执行第一条语句。
二.进阶语法
示例如图,它的变量只能在shell命令里使用,记住最后三种用法就行。
例3:变量使用
三.高级语法:模式匹配
例4 模式匹配用法,极大减少行数
四. 终极语法:函数
函数1:wildcard:获得指定目录下的指定类型文件
问题:获取的只是.c文件,但是我们第一条语句写的是.o所以需要另一个函数:patsubst,将所有.c名改成.o名。
删除make之后的依赖文件
伪目标:clean
所有文章均为自己学习用,本篇来源于牛客网免费课程,不会用于商业用途。