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

Makefile和make工具是Linux下用于项目自动化构建的重要手段。Makefile定义了文件间的依赖关系和编译规则,make则解析并执行这些规则。通过它们,开发者可以避免手动编译大量文件的繁琐过程,提高效率。伪目标如clean用于清理编译产生的临时文件,提高执行效率。使用Makefile需明确依赖关系、编译方法,并注意书写规范。
摘要由CSDN通过智能技术生成

Makefile是什么

makefile其实就是一个文档,里面定义了一系列的规则指定文件的编译生成顺序,它记录了原始码如何编译的详细信息。 makefile写好,只需要一个make命令,整个工程就可以完全自动编译,极大的提高了软件开发的效率。Makefile带来的最大好处就是“自动化编译”,Makefile文件完成后,不需要冗杂的指令进行编译,一个make指令即可完成。

make是什么

make是一个解释makefile中指令的命令工具。它可以简化编译过程里面所下达的指令,当执行 make 时,make 会在当前的目录下搜寻 Makefile (or makefile) 这个文本文件,执行对应的操作。make 会自动的判别原始码是否经过变动了,而自动更新执行档。
总的来说,make是一条指令,用来执行Makefile这个文件。Makefile是一个内含用户所需某些功能的文件。两者搭配使用,完成项目自动化构建。

为何需要使用这种项目自动化构建工具

1、在日后工作学习中,我们遇到的项目会越来越大,文件数目会越来越多。当需要对文件进行编译的时候,我们就需要一长串指令gcc -o 可执行文件 各种.c源文件进行一次编译就要将这个指令书写一次,十分浪费时间,因此就需要项目的自动化构建。
2、在大型工程中,我们往往需要将每个.c源文件,编译生成.o目标文件。然后再进行链接生成可执行文件。这样,当只有其中几个源文件进行修改时,我们只需要将这些文件重新编译即可,为改动的源文件不需要进行编译,极大减少了时间消耗。

如何书写Makefile文件

在这里插入图片描述
1、明确依赖关系,什么文件生成了什么文件(可能一个文件生成一个,一对一。也可能多个文件生成一个,多对一)
2、明确依赖方法,文件是使用使用什么指令生成的另一个文件。
3、注意依赖方法书写要以tab键开头,不可使用空格代替。
在这里插入图片描述

伪目标的概念

下面,用clean实现的例子来学习伪目标(clean的作用就是把Makefile执行时生成的临时文件删除)
在这里插入图片描述
在这里插入图片描述
伪目标的作用
(1)当一个目标被声明为伪目标后,make在执行规则时不会去试图去查找隐含规则来创建它。这样就提高了make的执行效率,也解决了文件目录中如果出现名为clean文件,clean操作不被执行的问题。
(2)伪目标进行make时,不会因操作已被进行而不被操作
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值