理解GNUMAKE:隐含规则与编译程序
需积分: 50 170 浏览量
更新于2024-08-06
收藏 860KB PDF 举报
"这篇文档是关于`makefile`的详细指南,主要涵盖了`make`工具的隐含规则和使用方法。文档出自`GNUMAKE`中文手册,由Free Software Foundation更新于2002年12月25日。内容包括`Makefile`的基本结构、规则、自动推导、命令、变量、条件判断、函数以及如何运行`make`等。其中,重点讲解了隐含规则,如C、C++、Pascal和Fortran/Ratfor程序的编译规则,并提到了如何通过`-r`或`--no-builtin-rules`选项取消预设的隐含规则。此外,还介绍了如何定义和使用模式规则、后缀规则,以及如何管理函数库文件的成员。"
在`makefile`中,隐含规则是`make`工具预先设定的一系列规则,用于在没有显式定义的情况下自动推导构建过程。例如,`<n>.o`的目标通常依赖于`<n>.c`、`<n>.cc`或`<n>.p`等源文件,并使用特定的编译命令进行构建。对于C程序,`make`会使用`$(CC)`编译器并添加`$(CPPFLAGS)`和`$(CFLAGS)`作为编译选项;对于C++,它将使用`$(CXX)`,同样加上`$(CPPFLAGS)`和`$(CFLAGS)`;Pascal程序则使用`$(PC)`编译器和`$(PFLAGS)`。
文档还提到了`make`的工作方式,包括如何解析`Makefile`,如何根据规则执行命令,以及如何处理命令的错误。变量的使用是`makefile`中的关键部分,包括基础的变量赋值、变量中的变量、追加赋值以及覆盖变量等。此外,`makefile`还可以包含条件判断和函数,以实现更复杂的逻辑和文本操作。
`make`的运行部分讨论了如何指定`Makefile`、目标、检查规则以及各种参数的含义,帮助用户更灵活地控制构建过程。最后,关于隐含规则的深入部分解释了如何利用和自定义隐含规则,以及如何处理函数库文件的更新,这在大型项目中尤其重要,因为它们可以极大地简化构建流程。
这篇文档是学习和编写高效`makefile`的重要参考资料,它提供了全面的指导,帮助开发者更好地理解和利用`make`的隐含规则和高级特性。
2018-10-10 上传
2018-10-31 上传
2019-05-27 上传
2023-12-06 上传
2023-11-11 上传
2023-10-23 上传
2023-10-07 上传
2023-08-01 上传
2023-08-13 上传
LI_李波
- 粉丝: 60
- 资源: 4019
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能