《Makefile 进阶之路一》 这里有你对Makefile所有的畅想

本文详细介绍了Makefile的工作原理和规则,包括目标、依赖、命令的编写,以及如何利用Makefile进行项目编译和链接。通过示例展示了Makefile的使用,解释了如何编写和执行Makefile以实现高效自动化的编译流程。同时,文章还提及了Makefile中用于清理的`clean`目标,以及如何通过`make clean`删除中间文件。
摘要由CSDN通过智能技术生成

编译、链接一个项目,仅仅有一个Makefile是不够的,还需要一个工具:make。make是一个命令,它在执行时,可以识别Makefile中定义的规则,并根据规则执行相应操作,(尽可能快的)完成项目的编译工作。为什么说make在编译的时候是尽可能快的呢,这是因为它遵守以下规则:

  1. 所有的源文件没有被编译过,则对各个 C 源文件进行编译并进行链接,生成最后的可执行程序;

  2. 每一个在上次执行 make 之后修改过的 C 源代码文件在本次执行 make 时将会被重新编译;

  3. 头文件在上一次执行 make 之后被修改。则所有包含此头文件的 C 源文件在本次执行 make 时将会被重新编译。

1.4 Makefile规则

Makefile作为项目的管理文件,它主要是由一条条的规则组成的,而每条规则的写法也是有模板的,如下:

TARGET : PREREQUISITES

COMMAND

这就是Makefile中的一条规则的格式,首先,TARGET用于表示这条规则的目标。其次,PREREQUISITES用于表示为了生成这个TARGET所需要的文件(依赖)。最后,COMMAND是一条命令,用于说明如何从PREREQUISITES生成TARGET。make在识别这个规则的时候,首先查目标是什么,然后查所需要的文件,最后执行命令生成目标文件。

规则包含了文件之间的依赖关系和更新此规则目标所需要的命令

一个规则可以有多个命令行,每一条命令占一行。注意:每一个命令行必须以[Tab]字符开始,[Tab]字符告诉 make 此行是一个命令行。make 按照命令完成相应的动作。这也是书写 Makefile 中容易产生,而且比较隐蔽的错误。</

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值