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

Makefile

  • Makefile介绍
  • Makefile的使用
    • 依赖关系/依赖方法
    • 伪目标文件
    • make 工作方式
    • make [命令] 使用方式

Makefile介绍

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

用例:

  1. 在当前目录下创建一个Makefile/makefile,写上如下代码。
    Linux项目自动化构建工具-Makefile_第1张图片
  2. 使用make命令,即可编译成一个可执行程序。
    Linux项目自动化构建工具-Makefile_第2张图片

Makefile的使用

依赖关系/依赖方法

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

Linux项目自动化构建工具-Makefile_第3张图片

伪目标文件

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

  • 使用 make clean 即可调用。
    Linux项目自动化构建工具-Makefile_第4张图片

make 工作方式

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

Linux项目自动化构建工具-Makefile_第5张图片
Linux项目自动化构建工具-Makefile_第6张图片

make [命令] 使用方式

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

  • make clean 命令即可。

你可能感兴趣的:(linux,linux,自动化)