GNU Make中文手册:编写与管理编译规则

需积分: 9 3 下载量 191 浏览量 更新于2024-09-28 收藏 1.29MB PDF 举报
"Make中文详解手册" 本书是GNUmake的中文翻译版,由徐海兵在2004年9月11日翻译完成,详细解释了如何编写和使用Makefile来管理程序的编译规则。Make是自动化构建工具,通过读取Makefile,根据其中的规则来决定哪些文件需要更新,并执行相应的命令。 第一章:概述 1.1 Make之前的基本知识 - 概述:讲解了在使用Make之前需要了解的基础知识。 - 准备知识:包括对编译、链接等基本概念的理解。 1.2 GNUmake介绍 - Makefile简介:介绍了Makefile的结构和作用,它是Make工具的核心。 - Makefile规则:说明了规则是如何定义目标文件依赖于其他文件并指明构建过程的。 - 简单示例:提供了基础的Makefile编写实例。 - make如何工作:解释了make工具的工作原理,包括目标的检查和更新策略。 - 指定变量:展示了如何在Makefile中定义和使用变量,以提高代码复用性。 - 自动推导规则:说明了make如何自动推断某些类型的依赖关系。 - 另类风格的makefile:讨论了非标准格式的Makefile编写方式。 - 清除工作目录过程文件:介绍了如何设置清理命令以删除生成的临时文件。 第二章:Makefile总述 2.1 Makefile概述 - 内容:详细解释了Makefile可以包含的目标、依赖、命令和其他指令。 - 文件命名:讲述了Makefile的默认命名规则以及如何指定其他名字。 - 包含其他makefile:演示了如何在一个Makefile中引用另一个Makefile。 - 变量MAKEFILES:这个变量可以用来指定额外的Makefile路径。 - 变量MAKEFILE_LIST:包含了当前被处理的所有Makefile的列表。 - 其他特殊变量:介绍了一些Make预定义的特殊变量及其用途。 - makefile文件的重建:如何指示make重建Makefile自身。 - 重载另一个makefile:如何切换到不同的Makefile进行处理。 - make解析makefile的过程:解释了make在解析Makefile时的步骤,包括变量赋值、条件语句和规则定义。 第三章:Makefile的规则 3.1 规则示例:展示了规则的实际应用。 3.2 规则语法:详细描述了规则的语法结构。 3.3 依赖的类型:解释了直接依赖和间接依赖的概念。 3.4 文件名使用通配符:如何使用*和?等通配符匹配多个文件。 3.5 目录搜寻:介绍了如何让make在多个目录中查找依赖文件。 - 一般搜索(变量VPATH) - 选择性搜索(关键字vpath) - 目录搜索的机制 - 命令行和搜索目录 - 隐含规则和搜索目录 - 库文件和搜索目录 3.6 Makefile伪目标:如`.PHONY`,用于确保目标总是被认为过时,即使同名的文件存在。 3.7 强制目标:没有命令或依赖的规则,用于标记目标。 3.8 空目标文件:用于创建只用于标记目的的空文件。 3.9 Makefile的特殊目标:如`.SUFFIXES`、`.DEFAULT`等。 3.10 多目标:一个规则可以同时处理多个目标。 3.11 多规则目标:一个目标可以有多个规则。 3.12 静态模式:更灵活的规则编写方式,允许模式匹配。 - 静态模式规则的语法:详细讲解了静态模式的使用方法。 本书全面覆盖了Makefile的各个方面,对于理解和编写高效的Makefile来说,是一份不可或缺的参考资料。无论是初学者还是经验丰富的开发者,都能从中受益匪浅,提高构建效率,更好地管理项目构建过程。