【Makefile】简介
最近一段时间在学习Makefile,这是做的一些学习笔记,近期会持续更新。
makefile的功能:
关系到整个工程的编译规则,
makefile定义了一系列的规则来制定,
哪些文件先编译,
哪些文件后编译,
哪些文件需要重新编译,
甚至进行更复杂的操作。
makefile书写规则:
顺序对于makefile十分重要,makefile只应该有一个目标,
第一条规则的目标为最终目标。
makefile执行规则:
1.如果这个工程没有编译过,那我们的所有c文件都要编译并被链接。
2.如果这个工程的某几个c文件被修改,那么我们只编译被修改后的c文件,并链接目标程序。
3.如果这个工程的头文件被改变了,那么需要重新编译引用这个头文件的c文件,并链接目标程序。
make工作流程:
1.make会在当前的目录下找“Makefile”或“makefile”的文件
2.在文件中找的目标文件(TARGET)
3.如果target文件不存在或者依赖文件比target新,重新生成target文件。
4.target依赖的文件不存在或者依赖文件有更新,根据依赖关系生成新的文件。
make的工作方式:(两个阶段)
一。
1.读入所有的makefile
2.读入include的其他makefile
3.初始化文件中的变量
4.推导隐晦规则,并分析所有的规则
5.为所有目标文件创建依赖关系链
二。
6.根据依赖关系,决定哪些文件要重新生成
7.执行生成命令