GNU make 编程指南:后缀规则与缺省规则解析
需积分: 50 200 浏览量
更新于2024-08-08
收藏 1.24MB PDF 举报
"GNU make中文手册,ver-3.8,由徐海兵翻译,2004年9月11日发布"
在GNU Make中,后缀规则是一种用于定义隐含规则的传统方法,尽管现代的make已经使用模式规则作为更清晰的替代。后缀规则分为两种类型:双后缀规则和单后缀规则。
1. 双后缀规则:这类规则定义了一对后缀,比如目标文件的后缀和依赖文件的后缀,如".o"和".c"。这样的规则会匹配所有具有指定目标后缀的文件,并将这些文件的后缀替换为依赖文件的后缀,从而确定依赖文件。例如,".o"和".c"的双后缀规则相当于模式规则`%o : %c`,意味着将.c文件编译成.o文件。
2. 单后缀规则:只定义一种后缀,通常为源文件的后缀,如".c"。它能匹配任何文件,并将源文件的后缀添加到目标文件名后,生成依赖文件名。例如,单后缀规则".c"等同于模式规则`% :`,表示所有文件都依赖于它们的.c源文件。
缺省规则是一种在Makefile中定义的规则,当没有明确的重建规则或者隐含规则适用时,用于处理目标文件的创建。可以通过万用规则(如`%:: touch $@`)或伪目标`.DEFAULT`(如`.DEFAULT: touch $@`)来实现。使用`.DEFAULT`时,如果没有指定命令,那么默认执行的命令就是空白,即不做任何操作。此外,缺省规则也可以用来在Makefile之间进行重载,以便在一个Makefile中调用和执行另一个Makefile的规则。
GNU Make还提供了其他高级特性,如变量(用于存储值)、自动变量(自动获取目标和依赖的路径及名称)、通配符(`*`和`?`)以及目录搜索功能,允许在多个目录中查找文件。此外,Makefile还可以包含其他Makefile,通过`include`指令实现,这有助于代码组织和复用。
Makefile的解析过程包括变量取值、条件语句评估以及规则的定义。make会按照特定顺序读取和执行Makefile中的指令,以决定哪些目标需要被更新,然后运行相应的命令来构建或更新目标文件。
GNU Make是一个强大的自动化构建工具,其核心在于Makefile中的规则和隐含规则,这些规则定义了文件间的依赖关系和构建过程。通过理解后缀规则、缺省规则和Makefile的其他特性,开发者能够编写出高效、灵活的构建脚本,以自动化复杂的软件构建流程。
2021-09-18 上传
2009-03-18 上传
2021-03-15 上传
2024-07-16 上传
2021-10-11 上传
2020-08-19 上传
物联网_赵伟杰
- 粉丝: 46
- 资源: 3985
最新资源
- 掌握压缩文件管理:2工作.zip文件使用指南
- 易语言动态版置入代码技术解析
- C语言编程实现电脑系统测试工具开发
- Wireshark 64位:全面网络协议分析器,支持Unix和Windows
- QtSingleApplication: 确保单一实例运行的高效库
- 深入了解Go语言的解析器组合器PARC
- Apycula包安装与使用指南
- AkerAutoSetup安装包使用指南
- Arduino Due实现VR耳机的设计与编程
- DependencySwizzler: Xamarin iOS 库实现故事板 UIViewControllers 依赖注入
- Apycula包发布说明与下载指南
- 创建可拖动交互式图表界面的ampersand-touch-charts
- CMake项目入门:创建简单的C++项目
- AksharaJaana-*.*.*.*安装包说明与下载
- Arduino天气时钟项目:源代码及DHT22库文件解析
- MediaPlayer_server:控制媒体播放器的高级服务器