一、make的工作原理
我们知道、当编写完makefile文件之后,我们直接在终端输入make即可,那么我相信大家一定会有个疑问,那就是make到底是怎么工作的呢?
当输入make,然后运行之后,make会在当前目录下找名字叫Makefile或者makefile的文件
找到之后,会在makefile文件中找到目标文件,按照执行规则,他会找到编辑文件,并把这个文件作为目标文件
如果不存在编辑文件呢?或是编辑文件后面的.o文件的文件修改时间要比编辑文件这个文件新,那么他就会执行后面的命令来生成edit这个文件
如果编辑文件以及所依赖的文件存在,那么make会在当前文件中找目标为.o文件的依赖性,如果找到则按照规则生成.o文件
显示找到你的源文件(*.c和*.h),按照规则去生成.o文件,然后在按照规则生成目标文件即可。
make的工作流程是一层一层传递下去的
如果make在寻找得过程中,如果出现错误,那么改怎么办呢?比如最后被依赖得文件找不到了,那么make就会直接退出,并报错误,对于所定义得命令得错误,或者编译不成功,make是不管得,make只管文件得依赖性,如果找到了依赖关系之后,冒号后面得文件还是不在,make就会停止工作。
例如:在makefile中一般都会存在clean,没有被第一个目标文件直接或者简介关联,那么他后面所定义得命令就不会被执行,只有执行make clean 才会被执行。
相信通过这样梳理大家对make得工作原理应该有了清楚得认识吧