GNUMAKE中文手册:指定目标与Makefile深度解析

需积分: 50 25 下载量 5 浏览量 更新于2024-08-06 收藏 860KB PDF 举报
"这篇文档是GNUMAKE中文手册的一部分,主要介绍了如何编写和理解Makefile。手册涵盖了Makefile的基本概念、规则、变量的使用、条件判断、函数以及make的运行机制,包括指定目标、隐含规则等内容。" 在《指定目标-thomas calculus 13th edition》中,讨论的是`make`工具的使用方法,特别是如何指定Makefile的目标。通常,`make`的默认行为是构建Makefile中的第一个目标,但你可以通过在命令行中指定其他目标来改变这一行为。比如,通过`make clean`这样的命令,你可以让`make`执行特定的任务,如清理编译产生的临时文件。 Makefile中的目标可以是显式的或隐含的。显式目标是你在文件中明确列出的,而隐含目标是通过make的隐含规则推导得出的。如果一个目标以"-"开头或者包含"=",它将不会被视为目标,而是被解析为命令行参数或变量。`MAKECMDGOALS`环境变量用于存储在命令行指定的终极目标列表,如果没有指定目标,则为空。 文档还提到了一个例子,展示了如何根据命令行参数决定是否包含特定的文件。如果命令不是`make clean`,Makefile会自动包含由源文件`.c`扩展名为`.d`的依赖文件。 此外,手册深入探讨了Makefile的各个组成部分,如规则的语法、通配符的使用、静态模式、多目标、伪目标等,并详细解释了变量的使用,包括基础用法、变量中的变量、追加值以及如何覆盖变量。条件判断和函数的应用使得Makefile更具有灵活性,可以执行复杂的逻辑操作。 在make的运行部分,文档讲述了如何指定Makefile、目标,以及如何检查规则。隐含规则是`make`的一大特色,它们提供了一套预设的构建规则,可以自动推导文件的依赖关系,简化Makefile的编写。手册还介绍了如何定义自己的模式规则和后缀规则,以及如何使用函数库文件。 这份文档详尽地阐述了`make`工具的核心概念和使用技巧,对于理解和编写Makefile非常有帮助。通过学习这些内容,开发者能够更有效地管理软件项目的构建过程。