GNU make中文手册:学习与查阅必备

需积分: 36 0 下载量 121 浏览量 更新于2024-09-27 收藏 1.34MB PDF 举报
"GNUmake中文手册,ver-3.81,由徐海兵翻译整理,详细介绍了GNU make的使用,包括Makefile的编写、规则、变量等核心概念。" GNU `make` 是一个自动化构建工具,它根据Makefile中的规则来编译和链接程序,大大提高了开发效率。这份手册是学习和理解`make`的宝贵资料,适用于开发者和系统管理员。 **第一章:概述** 这一章主要介绍了`make`的基本概念和使用它的前提知识。`make`通过读取Makefile,识别目标和依赖关系,自动执行必要的命令来更新目标文件。`make`的工作方式基于最小化重复劳动的原则,只有当依赖文件比目标文件新时才会执行相应的命令。 **第二章:GNU make介绍** - **Makefile简介**:Makefile包含了规则,规定了如何从源文件生成目标文件。 - **Makefile规则**:规则由目标、依赖和命令三部分组成,描述了如何从依赖文件生成目标文件。 - **简单的示例**:展示了基本的Makefile结构,如`all:`和`.PHONY`。 - **make如何工作**:解释了`make`如何解析和执行Makefile中的规则。 - **指定变量**:允许用户自定义变量,简化Makefile的书写,如`CC=gcc`。 - **自动推导规则**:`make`内置了一些规则,可以自动推导出编译C/C++代码的命令。 - **另类风格的makefile**:讨论了不同风格的Makefile编写方式。 - **清除工作目录过程文件**:`clean`目标用于清理临时和编译产生的文件。 **第三章:Makefile总述** - **Makefile的内容**:包括目标、依赖、命令、变量等元素。 - **makefile文件的命名**:通常命名为`Makefile`或`makefile`,但也可以使用其他名字。 - **包含其它makefile文件**:`include`指令允许合并多个Makefile。 - **变量MAKEFILES**:包含当前作用域中所有被包含的Makefile路径。 - **变量MAKEFILE_LIST**:包含所有被读取的Makefile列表。 - **其他特殊变量**:如`SHELL`指定了执行命令时使用的shell。 - **makefile文件的重建**:如何指示`make`去重新构建Makefile自身。 - **重载另一个makefile**:通过`-f`选项指定不同的Makefile。 - **make如何解析makefile文件**:详细解释了解析过程,包括变量赋值、条件语句和规则定义。 **第四章:Makefile的规则** - **规则语法**:详细阐述了规则的构成和语法。 - **依赖的类型**:包括直接依赖和间接依赖。 - **文件名使用通配符**:`*`、`?`等通配符用于匹配一组文件。 - **目录搜寻**:`VPATH`变量和`vpath`关键字帮助在多个目录中查找文件。 - **Makefile伪目标**:如`.PHONY`,确保命令总是执行,不依赖于同名的物理文件。 - **静态模式规则**:提供了更灵活的规则定义方式,可以同时处理多个文件。 通过这份手册,读者将能够深入理解`make`的工作原理,编写高效、可维护的Makefile,从而优化软件构建流程。无论是初学者还是经验丰富的开发者,都能从中受益。