Makefile介绍
Makefile是一个自动化编译工具,写好后,我们只需一个make命令,程序即可完成编译命令,并且可以根据项目需要,决定哪些文件先编译,哪些文件后编译,哪些文件重复编译等等。
其中make是一条命令,makefile是一个文件,我们只需按照一定的格式将makefile文件写好即可。
用例:
- 在当前目录下创建一个Makefile/makefile,写上如下代码。
使用make命令,即可编译成一个可执行程序。
Makefile的使用
依赖关系/依赖方法
依赖关系:该文件依托于谁(根据依赖关系才能形成目标文件)。
依赖方法:依托于依赖关系执行的方法。
还有一种符号表示的方法:
伪目标文件
使用.PHONY修饰的叫做伪目标文件,因为make命令只能执行一个目标文件(从上往下执行),而如果我们想清理文件的话,就需要定义成伪目标文件。
- 使用 make clean 即可调用。
make 工作方式
- make会找当前目录下找名字叫做Makefile/makefile的文件
- 如果找到,它找文件中的第一个目标文件(target),上例中,它会找mytext文件,把这个文件当作最终的目标文件。
- 如果mytext不存在,或者mytext.c依赖关系,比mytext的文件新,那么它会执行对应的依赖方法。
- 如果mytext.c的文件不存在,那么会再寻找.c的依赖关系,会一层一层的去寻找(当然自己需要把依赖关系写完整)
如下:
有点像堆栈的过程。
make [命令] 使用方式
如上文所实现的clean命令,只需:
- make clean 命令即可。