GNU make与其它版本差异分析-兼容性指南

需积分: 9 76 下载量 81 浏览量 更新于2024-08-08 收藏 1.29MB PDF 举报
"GNUmake中文手册,ver-3.8,由徐海兵翻译,2004年9月11日发布" 这篇文档是关于GNU Makefile的详细指南,主要涵盖了与不同版本的make工具的兼容性和不兼容性的讨论。在内容中,我们可以看到以下重要的知识点: 1. **Makefile的基本概念**:包括Makefile的内容、命名、包含其他Makefile文件、特殊变量如`MAKEFILES`、`MAKEFILE_LIST`和`MAKE_VERSION`,以及如何重建Makefile文件。 2. **规则和依赖**:介绍了Makefile规则的结构、依赖的类型、通配符的使用、目录搜索(如`VPATH`和`vpath`),以及静态模式规则,允许更灵活的文件匹配。 3. **特殊目标**:包括伪目标(`.PHONY`)用于确保目标总是被重建,强制目标和空目标文件,以及用于控制构建流程的特殊目标。 4. **变量和函数**:提到了多行变量定义、文本处理函数(如函数`wildcard`)、变量的高级用法,如计算的变量引用,以及环境变量在控制Make行为中的作用。 5. **条件执行**:Makefile中支持条件判断,类似C语言预处理器的宏扩展。 6. **递归执行**:`MAKELEVEL`变量追踪make的递归调用深度,`MAKECMDGOALS`则表示make的目标。 7. **隐含规则**:文档提到新的内嵌隐含规则,这些规则自动处理常见的构建任务,减少了显式规则的编写。 8. **不兼容性**:章节12专门讨论了GNU Make与其他版本make的不兼容性,指出某些功能可能在其他实现中不可用。 9. **命令行选项**:例如`-C`用于改变工作目录,`-o`或`--old-file`指定文件被视为未修改,以及`-lNAME`用于链接库。 这份文档提供了全面的GNU Makefile使用指导,对编写和理解Makefile非常有帮助,尤其对于需要跨平台或兼容不同版本Make工具的开发者而言。通过深入学习这些知识点,可以更有效地管理和自动化构建过程。