GNU Makefile 中文完全指南

需积分: 36 2 下载量 22 浏览量 更新于2024-07-28 收藏 1.34MB PDF 举报
"GNUmakefile中文手册,由徐海兵翻译整理,涵盖了GNUmake的各个方面,包括概述、Makefile的介绍、Makefile总述以及Makefile的规则等章节,是学习和理解makefile的全面教程。" GNU Make 是一个强大的自动化构建工具,广泛用于软件工程中的编译和构建过程。在编程领域,`makefile`是指导`make`程序如何编译和链接源代码的配置文件。这份中文手册详细介绍了`makefile`的各个关键概念和用法。 **第一章:概述** 这一章主要介绍了`make`的基本概念和用途,包括`make`在软件开发中的角色,以及了解`make`前需要的基础知识。 **第二章:GNUmake介绍** 1. **Makefile简介**:讲解了Makefile的结构和作用,它是如何告诉`make`哪些文件需要被更新,以及如何更新它们。 2. **Makefile规则**:规则定义了目标文件依赖于哪些源文件,以及如何构建这些目标文件的命令。 3. **简单的示例**:通过实例展示了基本的Makefile编写方法。 4. **make如何工作**:解释了`make`如何读取和解析Makefile,以及执行构建过程。 5. **指定变量**:介绍了如何在Makefile中定义和使用变量,以提高可读性和可维护性。 6. **自动推导规则**:`make`内建了一些隐含规则,可以自动推断源文件和目标文件之间的转换过程。 7. **另类风格的makefile**:探讨了不同风格的Makefile编写方式。 8. **清除工作目录过程文件**:讲解了如何在Makefile中定义清理目标,以删除编译过程中产生的临时文件。 **第三章:Makefile总述** 1. **Makefile的内容**:描述了Makefile可能包含的各种指令和部分。 2. **makefile文件的命名**:说明了可以使用不同名字的Makefile,并解释了默认选择。 3. **包含其它makefile文件**:如何通过`include`指令引入其他Makefile以组织大型项目。 4. **变量MAKEFILES**:这个环境变量可以影响`make`的行为。 5. **变量MAKEFILE_LIST**:存储了当前被读取的所有Makefile列表。 6. **其他特殊变量**:列举了`make`预定义的一些特殊变量。 7. **makefile文件的重建**:讨论了如何让`make`自动重建Makefile。 8. **重载另外一个makefile**:如何在运行时切换到不同的Makefile。 9. **make如何解析makefile文件**:详细解释了`make`解析和处理Makefile的步骤。 **第四章:Makefile的规则** 1. **一个例子**:通过实例演示了Makefile规则的使用。 2. **规则语法**:详细阐述了规则的语法结构。 3. **依赖的类型**:区分了直接依赖和间接依赖。 4. **文件名使用通配符**:如何利用通配符来匹配多个文件,同时提到了通配符的局限性以及`wildcard`函数。 5. **目录搜寻**:介绍了`VPATH`变量和`vpath`关键字来指定搜索源文件的路径。 6. **Makefile伪目标**:如`.PHONY`,用于确保目标总是被重新构建,即使同名的文件存在。 7. **强制目标**:没有命令或依赖的规则,用于指示`make`执行特定操作。 8. **空目标文件**:创建不包含任何内容的文件作为目标,用于记录状态。 9. **Makefile的特殊目标**:如`.SUFFIXES`、`.DEFAULT`等,它们有特定的含义和功能。 10. **多目标**:一个规则可以更新多个目标文件。 11. **多规则目标**:针对同一目标的不同构建方法。 12. **静态模式**:静态模式规则提供了更灵活的依赖关系处理方式。 13. **双冒号规则**:双冒号规则提供了更精确的依赖控制。 这份手册深入浅出地解释了`make`和`makefile`的使用,是开发者学习构建自动化和版本控制的重要参考资料。通过阅读和实践,读者将能够熟练地编写和管理Makefile,从而提高软件项目的构建效率。