6.2 Makefile的书写规则

上一小节已经简单介绍了Makefile的基本内容,本小节将深入探讨其详细编写规则,包括语法规则以及如何使用其他语法元素。那么,Makefile究竟是如何组织的呢?

6.2.1 基本语法规则

Makefile的基本语法规则如下所示:

Targets: Prerequisites Command

让我们拆解一下这些术语的含义吧:

  • Targets:这些是文件名,以空格分隔,可以使用通配符。一般来说,我们的目标基本上是一个文件,但也有可能是多个文件。

  • Prerequisites:这些是目标所依赖的文件(或依赖目标)。如果其中的某个文件比目标文件更新,目标就被认为是“过时的”,需要重新生成。

  • Command:这是实际的命令行。如果命令不与目标和依赖目标在同一行,那么必须以<;Tab>;键开头;如果在同一行,则可以使用分号分隔。顺便提一句,如果命令太长,可以使用反斜杠(\)进行换行。温馨提示:所有的Makefile命令行都应以<;Tab>;键开始哦!

想深入了解这些规则的更多信息?可以查看这个资源:Makefile基本语法规则

6.2 定义变量

在Makefile中定义的变量就像C语言中的宏一样,代表了一个文本字符串。在Makefile执行时,变量会自动展开成定义时的内容。与C语言不同的是,用户可以在Makefile中改变其值。

这些变量可以使用在“目标”、“依赖目标”、“命令”或Makefile的其他部分中。变量的命名可以包含字符、数字、下画线(可以是数字开头),但不应包含“:”。

有兴趣进一步了解变量的定义和用法?点击这里:Makefile中变量定义符号【温馨提示】。