0
点赞
收藏
分享

微信扫一扫

make、makefile的使用解释(Linux项目自动化构建工具)

pipu 2022-04-18 阅读 66
linux

在这里插入图片描述

makefile是一个文件。里面包含了:
1.文件与文件的依赖关系
2.文件与文件的依赖方法

为什么需要包含文件与文件的依赖方法和依赖方法呢?


假设有一个源文件,mytest.c.我们将它生成的可执行目标文件命名为mytest.那么我们所编写的Makefile文件的内容应该包含这两个文件的依赖关系和依赖方法。
1.依赖关系:mytest的生成依赖于mytest.c
2.依赖关系:gcc mytest.c -o mytest

//Makefile文件
mytest:mytest.c
	gcc mytest.c -o mytest

第一行:表明依赖关系,mytest文件的生成依赖于mytest.c
第二行:表明依赖的方法


make是一个命令工具,是一个解释Makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,makemakefile搭配着使用就可以完成项目自动化构建。

//格式
make 目标文件名

当我们已经使用一次之后,再实用则会出现这样的报错,“mytest是最新的”
在这里插入图片描述

预处理、编译、汇编、链接的过程是要消耗的,既然没有任何的改动有必要重新再来一次吗?所以,这种情况下需要清理工程。
清理工程的方法:设置伪目标文件
在这里插入图片描述
设置伪目标的方法:使用.PHONY修饰,不需要写所依赖的文件。
伪目标的特性:总是可执行的

清理后,则可以继续make
在这里插入图片描述
make命令的谜之操作(防止绕口,我把目标文件所依赖的文件简称为文件2):

  • 去寻找所在目录下的名为makefile/Makefile文件
  • 找到后,去找make命令后的文件,或者找默认目标文件
  • 如果目标文件不存在/文件2的修改时间比目标文件新,则执行依赖方法
  • 如果文件2不存在,则会找文件2所依赖的文件去生成,一层一层地去找关系来生成所需文件
  • 如果最后找不到,则退出并报错
举报

相关推荐

0 条评论