Linux项目自动化构建工具-Makefile

Makefile介绍

Makefile是一个自动化编译工具,写好后,我们只需一个make命令,程序即可完成编译命令,并且可以根据项目需要,决定哪些文件先编译,哪些文件后编译,哪些文件重复编译等等。
其中make是一条命令,makefile是一个文件,我们只需按照一定的格式将makefile文件写好即可。

用例:

  1. 在当前目录下创建一个Makefile/makefile,写上如下代码。
    在这里插入图片描述
  2. 使用make命令,即可编译成一个可执行程序。
    在这里插入图片描述

Makefile的使用

依赖关系/依赖方法

依赖关系:该文件依托于谁(根据依赖关系才能形成目标文件)。
依赖方法:依托于依赖关系执行的方法。

在这里插入图片描述

伪目标文件

使用.PHONY修饰的叫做伪目标文件,因为make命令只能执行一个目标文件(从上往下执行),而如果我们想清理文件的话,就需要定义成伪目标文件。

  • 使用 make clean 即可调用。
    在这里插入图片描述

make 工作方式

  1. make会找当前目录下找名字叫做Makefile/makefile的文件
  2. 如果找到,它找文件中的第一个目标文件(target),上例中,它会找mytext文件,把这个文件当作最终的目标文件。
  3. 如果mytext不存在,或者mytext.c依赖关系,比mytext的文件新,那么它会执行对应的依赖方法。
  4. 如果mytext.c的文件不存在,那么会再寻找.c的依赖关系,会一层一层的去寻找(当然自己需要把依赖关系写完整)
    如下:
    有点像堆栈的过程。

在这里插入图片描述
在这里插入图片描述

make [命令] 使用方式

如上文所实现的clean命令,只需:

  • make clean 命令即可。

猜你喜欢

转载自blog.csdn.net/weixin_45153969/article/details/132499859