GNUmake中文手册:Makefile编写指南

需积分: 36 1 下载量 7 浏览量 更新于2024-07-29 收藏 1.34MB PDF 举报
"GNUmake中文手册,ver-3.81,由徐海兵于2004-09-11翻译整理,详细介绍了GNUmake的使用和Makefile的编写,涵盖概述、基本概念、Makefile总述、规则等多个章节,是学习和理解GNUmake的宝贵资料。" GNU Make是一个广泛应用的自动化构建工具,它根据Makefile中的规则来编译、链接和其他方式处理项目文件。这份手册提供了关于GNU Make的深入指导,包括以下几个关键知识点: 1. **概述**:介绍GNU Make的基本功能和目的,以及学习Makefile前应具备的基础知识。 2. **GNUmake介绍**: - **Makefile简介**:解释了Makefile的作用,它是如何帮助管理项目的构建过程。 - **Makefile规则**:规则定义了目标文件和它们的依赖关系,以及如何更新这些目标。 - **简单的示例**:展示了基础的Makefile结构和用法。 - **make如何工作**:描述了Make如何读取和解析Makefile,以及执行命令的顺序。 - **指定变量**:变量在Makefile中的使用,用于存储常量值和动态计算。 - **自动推导规则**:Make内置的一些规则可以自动推断如何构建特定类型的文件。 - **另类风格的makefile**:讨论了不同的Makefile书写风格。 - **清除工作目录过程文件**:如何在Makefile中定义清理目标以删除临时文件。 3. **Makefile总述**: - **Makefile的内容**:解释了Makefile可以包含的各种指令和部分。 - **makefile文件的命名**:Makefile的命名规范和默认查找规则。 - **包含其它makefile文件**:如何通过`include`指令整合多个Makefile。 - **变量MAKEFILES**:此变量可以指定额外的Makefile路径。 - **变量MAKEFILE_LIST**:包含了所有被读取的Makefile列表。 - **其他特殊变量**:如目标目录(`$(CURDIR)`), 当前Makefile名(`$(MAKEFILE_LIST)`等)。 - **makefile文件的重建**:如何让Makefile自身成为构建的一部分。 - **重载另外一个makefile**:如何用新的Makefile替换当前的。 - **make如何解析makefile文件**:详细阐述Make解析规则和变量赋值的过程。 4. **Makefile的规则**: - **规则语法**:规则的构成,包括目标、依赖和命令行。 - **依赖的类型**:直接依赖和间接依赖的概念。 - **文件名使用通配符**:如何使用`*`, `?`等通配符匹配多个文件名,以及其潜在问题。 - **函数wildcard**:获取当前目录下匹配通配符的文件列表。 - **目录搜寻**:通过`VPATH`变量和`vpath`关键字实现跨目录搜索。 - **Makefile伪目标**:如`.PHONY`,确保目标总是被重新构建,不受文件系统影响。 - **强制目标和空目标文件**:没有命令或依赖的目标,用于控制构建流程。 - **Makefile的特殊目标**:如`.SUFFIXES`, `.DEFAULT`等预定义目标的作用。 - **多目标和多规则目标**:一个规则可以更新多个目标,多个规则也可以更新同一个目标。 - **静态模式**:使用模式规则进行更灵活的文件匹配和构建规则定义。 这份手册不仅涵盖了基本概念,还深入到高级特性和技巧,对于想要深入了解和优化构建流程的开发者来说非常有价值。通过学习和实践,开发者可以更高效地管理项目构建,减少重复工作,提高开发效率。