GNUmake中文手册:Makefile详解

需积分: 36 1 下载量 150 浏览量 更新于2024-12-26 收藏 1.34MB PDF 举报
"GNUmake中文手册,ver-3.81,由徐海兵在2004年9月11日翻译整理,详细介绍了makefile的使用和规则,涵盖了从基础概念到高级特性的多个方面,包括makefile的概述、规则、变量和搜索目录等。" GNUmake是Linux和Unix系统中用于自动化构建项目的工具,它通过读取名为“Makefile”的文本文件来确定哪些文件需要被编译或更新。手册首先从概述和准备知识开始,让读者理解makefile的基本作用和背景。接着,详细介绍了GNUmake的使用,包括Makefile的组成、规则的定义以及如何指定变量。 Makefile的规则是其核心部分,手册详细讲解了规则的语法和不同类型的依赖。规则定义了如何从一个或多个源文件生成目标文件,通常通过执行一系列命令。例如,一个简单的规则可能描述如何将.c文件编译成.o文件,然后链接成可执行程序。手册还讨论了通配符的使用,如`*`,以及如何处理文件名的匹配问题,包括`wildcard`函数的使用。 在变量部分,手册解释了如何定义和使用变量,包括自动推导规则,这允许make自动推断源文件和目标文件之间的关系。此外,还提到了包含其他makefile文件的能力,以及一些特殊的预定义变量,如`MAKEFILES`和`MAKEFILE_LIST`。 关于目录搜索,手册详细阐述了如何使用`VPATH`变量进行一般搜索,以及使用`vpath`关键字进行选择性搜索。这使得make可以在不同的目录中查找源文件,增加了灵活性。同时,手册还讨论了目录搜索与隐含规则、命令行参数以及库文件的关系。 手册还涵盖了一些高级特性,如伪目标、强制目标、空目标文件、特殊目标、多目标规则、多规则目标以及静态模式规则。这些特性使makefile能够处理更复杂的情况,比如清理工作目录、重建Makefile自身,或者处理多文件项目中的依赖关系。 GNUmake中文手册是学习和掌握makefile编写的重要参考资料,它详尽地解释了makefile的各个组成部分和工作原理,对于任何需要自动化构建流程的开发者来说都是一份宝贵的指南。