GNUmake中文手册:Makefile完全指南

5星 · 超过95%的资源 需积分: 36 60 下载量 98 浏览量 更新于2024-11-03 1 收藏 1.34MB PDF 举报
"gmake中文手册(v3-8)完全版" GNU `make` 是一个强大的自动化构建工具,尤其在Linux和其他Unix-like系统中广泛使用。手册“gmake中文手册(v3-8)完全版”是学习如何编写和使用`makefile`的重要参考资料。手册由徐海兵翻译整理,涵盖了`make`的基本概念、语法和高级特性。 手册的章节内容如下: 1. **概述**:这部分简要介绍了`make`的作用和基本理念,以及在开始学习之前需要了解的基础知识。 2. **GNUmake介绍**:深入解释了`Makefile`的基础结构,包括`Makefile`的基本组成,如规则、目标和依赖项。此外,还讨论了简单的`makefile`示例,以及`make`如何执行构建过程。 - **Makefile简介**:说明了`Makefile`是如何定义构建步骤的。 - **Makefile规则**:详细阐述了规则的格式,规则用于指示哪些文件依赖于哪些其他文件,以及当依赖项改变时应运行哪些命令。 - **简单的示例**:通过实例展示了一个基本的`Makefile`是如何工作的。 - **make如何工作**:解释了`make`程序如何解析`Makefile`,决定哪些目标需要更新,并执行相应的命令。 - **指定变量**:介绍了如何在`Makefile`中定义变量,以便简化和重用指令。 - **自动推导规则**:`make`提供了一些预定义的规则,可以自动推导出某些类型的文件生成过程。 - **另类风格的makefile**:讨论了不同风格的`Makefile`写法。 - **清除工作目录过程文件**:说明了如何设置清理目标来删除临时或生成的文件。 3. **Makefile总述**:进一步深入`Makefile`的细节,包括其内容、命名、包含其他`makefile`的方法,以及`make`使用的特殊变量和解析机制。 - **Makefile的内容**:详细描述了`Makefile`可以包含的指令和结构。 - **makefile文件的命名**:解释了如何命名和定位`Makefile`。 - **包含其它makefile文件**:介绍了如何使用`include`指令来组合多个`Makefile`。 - **变量MAKEFILES**:说明了这个特殊变量如何影响`make`的行为。 - **变量MAKEFILE_LIST**:记录了所有被读取的`Makefile`列表。 - **其他特殊变量**:提到了更多用于控制`make`行为的变量。 - **makefile文件的重建**:讨论了如何让`make`自动生成或更新`Makefile`。 - **重载另外一个makefile**:介绍了如何改变`make`的工作`Makefile`。 - **make如何解析makefile文件**:详细阐述了`make`解析`Makefile`的过程,包括变量取值、条件语句和规则定义。 4. **Makefile的规则**:这部分深入到`Makefile`的规则体系,包括各种规则的语法、类型和特殊用法。 - **一个例子**:通过一个具体的规则示例来说明规则的运用。 - **规则语法**:详细描述了规则的结构和组成部分。 - **依赖的类型**:区分了直接依赖和间接依赖。 - **文件名使用通配符**:介绍了如何使用通配符匹配多个文件,包括优点、缺点以及`wildcard`函数的使用。 - **目录搜寻**:讲述了如何配置`VPATH`和`vpath`,以便在不同的目录下查找源文件和目标文件。 - **Makefile伪目标**:伪目标不实际代表文件,但用于控制构建流程。 - **强制目标**:没有命令或依赖的规则,用于满足特定需求。 - **空目标文件**:用于确保某些命令总是被执行。 - **Makefile的特殊目标**:如`.PHONY`、`.SILENT`等,这些目标有特殊的含义和作用。 - **多目标**:一个规则可以关联多个目标。 - **多规则目标**:一个目标可以有多个规则,`make`会选取最新的适用规则。 - **静态模式**:静态模式规则允许更灵活的规则定义,可以结合隐含规则使用。 这个手册对理解和编写高效、可维护的`Makefile`非常有帮助,是任何希望深入`make`技术的人不可或缺的参考材料。