Makefile核心知识点总结

make工具的作用

1.将源文件生成可执行的目标文件
2.实现自动化编译
3.避免不必要的重复编译

make工作原理——生成目标文件

1.找到当前目录的Makefile文件
2.找到makefile中的第一个目标文件,判断其在当前目录中是否已经生成,作为执行文件
3.如果目录中不存在第一目标文件,则会根据Makefile中定义的规则重新生成目标文件
4.如果存在第一目标文件,则会确认各依赖文件的源文件的修改时间,如果源文件的修改时间有更新,则会重新生成相应的依赖文件,再重新生成目标文件
在这里插入图片描述

在这里插入图片描述

伪目标文件

1.在makefile目标文件的位置上,但是不生成目标文件
2.伪目标声明关键词: .PHONY: clean
当有关键词声明后,输入命令make clean,会直接执行clean后面的命令
如果没有关键词声明,将按照目标文件的执行顺序去执行,如果当前目录中刚好存在同名文件clean,则不会执行makefile中命令,引发错误

自动化变量

$@:规则的目标文件名(规则:命令)
$<:规则的第一依赖文件
$^:规则的第一依赖文件列表,即所有依赖文件

自定义变量

变量名 =(替换) +=(追加) :=(恒等于)
使用变量: $(变量名)

隐含规则

%.c 、 %.o表示任意.c 、 .o文件
*.c 、 *.o 表示所有 .c、 .o文件

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Makefile 是一种用于自动化编译程序的工具,常用于管理大型的程序项目。它的主要功能是根据源代码和依赖关系自动化执行编译操作,从而生成可执行文件或库文件。以下是 Makefile 的一些知识点: 1. 目标和依赖关系:Makefile 中的每个规则都是由一个目标和一个依赖关系列表组成。目标指定要生成的文件名,依赖关系列表则是生成目标所需的所有源文件和库文件等。 2. 命令行操作:Makefile 中的每个规则都包含相应的操作命令,用于执行编译操作。这些命令可以是编译器命令、链接器命令、复制文件命令等。 3. 变量和函数:Makefile 中可以定义变量和函数,用于简化代码和提高可读性。变量可以用于存储编译器选项、源文件路径等信息,函数可以用于在编译过程中进行特定操作。 4. 自动化依赖关系:Makefile 可以根据源代码和头文件之间的依赖关系自动化生成依赖关系列表,从而避免手动维护依赖关系列表。 5. 条件编译Makefile 中可以使用条件编译指令,以根据不同的编译环境或编译选项生成不同的代码。 6. 伪目标:Makefile 中的伪目标是一些特殊的目标,它们并不对应任何实际的文件,而是用于执行特定的操作,如清除临时文件、生成文档等。 7. 多目标和多规则:Makefile 中可以定义多个目标和多个规则,从而支持生成多个可执行文件或库文件。 8. 命令行参数:Makefile 可以接受命令行参数,以支持在编译过程中指定特定的选项或路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东边坡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值