GNU make中文手册:学习makefile的必备指南

需积分: 36 4 下载量 139 浏览量 更新于2024-11-18 收藏 1.34MB PDF 举报
"GNUmake中文手册,ver-3.81,由徐海兵翻译整理,2004-09-11发布" GNU Make是一个强大的自动化构建工具,广泛用于Linux和GNU系统中,用于管理和编译源代码项目。手册是学习`makefile`编写的重要参考资料,它详细介绍了如何编写和使用`makefile`来自动化构建过程。 **第一章:概述** 这一章主要介绍了`make`的基本概念,以及学习`makefile`所需的预备知识。`make`通过读取`makefile`中的指令,自动执行编译、链接等任务,从而简化了复杂的项目构建过程。 **第二章:GNU make介绍** 本章详细讲解了`Makefile`的基本结构和元素。`Makefile`通常包含规则,规则定义了目标文件和依赖文件之间的关系,以及当目标文件需要更新时应执行的命令。`Makefile`规则由目标、依赖和命令三部分组成。 - **Makefile简介**:说明了`Makefile`的作用和基本组成。 - **规则介绍**:解释了规则的格式,包括目标、依赖和命令行。 - **简单示例**:提供了基本`Makefile`的例子,展示了如何定义规则。 - **make如何工作**:描述了`make`程序如何根据目标文件和依赖文件的时间戳决定是否执行命令。 - **指定变量**:介绍了如何在`Makefile`中定义和使用变量,以提高可读性和可复用性。 - **自动推导规则**:`make`可以自动推断某些类型的依赖关系,例如源文件与对应的编译对象文件。 - **另类风格的makefile**:提到了不同风格的`Makefile`写法。 - **清除工作目录过程文件**:展示了如何在`Makefile`中定义清理目标以删除临时或编译产生的文件。 **第三章:Makefile总述** 这一章深入讨论了`Makefile`的高级特性。 - **Makefile的内容**:涵盖了`Makefile`可能包含的各种指令和声明。 - **文件命名**:讲述了如何命名`Makefile`,以及`make`如何寻找`Makefile`。 - **包含其它makefile**:说明了如何通过`include`指令合并多个`Makefile`。 - **变量MAKEFILES**:这个特殊变量可以用来指定额外的`Makefile`。 - **变量MAKEFILE_LIST**:记录了`make`加载的所有`Makefile`列表。 - **其他特殊变量**:介绍了其他一些有用的预定义变量。 - **makefile文件的重建**:讨论了如何让`make`自动重建`Makefile`。 - **重载另一个makefile**:如何在运行时改变`make`使用的`Makefile`。 - **make如何解析makefile**:解析`Makefile`的过程,包括变量取值、条件语句和规则定义。 **第四章:Makefile的规则** 本章详细探讨了`Makefile`规则的各种细节。 - **规则示例**:提供了一个实际的规则实例。 - **规则语法**:详述了规则的正确书写方式。 - **依赖的类型**:依赖可以是文件或其他规则。 - **文件名通配符**:`*`, `?` 和 `[]` 的使用方法,以及它们的限制。 - **函数wildcard**:用于获取当前目录下匹配通配符的文件列表。 - **目录搜索**:`VPATH`变量和`vpath`关键字用于指定搜索依赖文件的额外目录。 - **Makefile伪目标**:如`.PHONY`,确保即使目标存在也不会跳过执行命令。 - **强制目标和空目标**:没有命令或依赖的目标,用于控制构建流程。 - **特殊目标**:如`.SILENT`, `.INTERMEDIATE`, `.PRECIOUS`等,它们有特定的含义和作用。 - **多目标**:一个规则可以处理多个目标。 - **多规则目标**:一个目标可以有多个规则,按照顺序执行。 - **静态模式**:更灵活的规则写法,可以处理多种情况。 通过这份手册,读者能够全面了解和掌握`makefile`的编写技巧,进而有效地管理和构建软件项目。