理解GNU makefile:包含.d文件与文本框选择框交互
需积分: 4 129 浏览量
更新于2024-08-09
收藏 978KB PDF 举报
"这篇文档是关于makefile文件的使用,特别是如何处理.d依赖文件和makefile的重建。文章提到了Makefile中包含了自动产生.d文件的机制,以及include指令的正确使用顺序。此外,还提供了GNUmake中文手册的部分章节内容,涵盖了Makefile的基本概念、规则、变量和文件搜索等内容。"
在makefile中,`.d`文件通常是由编译器自动生成的,用于记录源文件依赖的头文件信息。例如,当你的项目包含`foo.c`和`bar.c`这样的源文件时,你可以通过变量`sources`来收集这些源文件,并利用`$(sources:.c=.d)`这样的替换表达式来生成对应的`.d`文件。这使得make在执行时能够自动跟踪源文件的依赖关系,确保在头文件改变时重新编译相应的源文件。
`include`指令用于将其他makefile文件包含进来,例如这里的`.d`文件。但需要注意,`include`应放在终极目标(通常是编译或链接目标)之后,避免`.d`文件中的规则覆盖主Makefile的规则。这是因为在`.d`文件中,它们可能已经包含了源文件到目标文件的构建规则。
GNUmake中文手册中详细介绍了makefile的多个方面,包括:
1. Makefile的基本结构和内容,如目标、依赖、命令等。
2. Makefile规则的定义和执行流程,包括如何定义变量和自动规则。
3. 如何包含其他Makefile文件,以及`MAKEFILES`和`MAKEFILE_LIST`等特殊变量的作用。
4. 文件名通配符的使用,例如`*`,以及其可能带来的问题和解决方法。
5. 目录搜索机制,如`VPATH`和`vpath`的使用,以及它们如何影响文件的查找路径。
6. 静态模式规则,允许更灵活地定义规则,与隐含规则结合使用,可以更高效地管理依赖。
这篇文档提供了理解并编写高效、自动生成依赖的makefile的关键信息,对于C/C++开发人员来说,掌握这些知识能有效地提高构建系统的自动化程度和效率。
2396 浏览量
1197 浏览量
465 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
羊牮
- 粉丝: 41
- 资源: 3854
最新资源
- Matrix:开发用于使用pygame学习矩阵的教具
- Termy:具有自动完成功能的终端
- Catfish BLOG 鲶鱼博客系统 v2.0.51
- em算法matlab代码-Digital-Device-Design-for-Power-Factor-Calculation:功率因数(PF
- OSEMR-开源
- adb驱动亲测可用解压即可
- GitHub-Health-Project-Article:关于我对免费和开源,非限制性,道德和安全的医疗健康项目的计划和贡献的文章
- disaster_response_NLP_pipeline:用于灾难响应消息分类的NLP管道
- benchdb-accumulation-register:ouchdb的累积寄存器
- keil3/4 采用单片机或ARM控制路灯四季不同天黑时间的路灯开关控制,且能根据节假日单独设置开关时间。
- matlab标注字体代码-figexp:将Matlab图形导出为各种格式
- 西门子ET_200S +6 ES7_131_4BB00外形图.zip
- RxBasicsKata:RxJava学习者的实际挑战
- postgres_dba:缺少用于Postgres DBA和所有工程师的有用工具集
- NetEpi-开源
- typescript-express-static-analysis-template