GNU make中文手册:Makefile中的变量引用与SSE4.2指令集

需积分: 4 65 下载量 166 浏览量 更新于2024-08-09 收藏 4.21MB PDF 举报
"GNU make makefile 中文手册" 在Makefile编程中,变量的引用是核心概念之一,允许我们存储和重用数据。标题提到的"变量的引用"是指在Makefile中如何使用变量的值。根据描述,变量的引用通常通过`$(VARIABLE_NAME)`或`${VARIABLE_NAME}`的形式进行,这里的`VARIABLE_NAME`是你定义的变量名。例如,如果有一个变量`foo`,我们可以使用`$(foo)`或`${foo}`来获取它的值。 在Makefile中,`$`是一个特殊字符,用来引用变量。如果要在命令或文件名中直接使用`$`,则需要写成`$$`来转义。变量的引用可以出现在Makefile的各种上下文中,如目标、依赖、命令、指示符以及新变量的赋值中。 描述中的例子展示了如何使用变量保存一系列`.o`文件的列表。`objects`变量被赋值为`program.o foo.o utils.o`,然后在规则`program : $(objects)`中引用,这表示`program`依赖于`objects`变量列出的所有对象文件。当`make`执行时,它会构建所有依赖项,即编译这些`.o`文件。接着,`cc -o program $(objects)`的命令用于将编译好的`.o`文件链接成名为`program`的可执行文件。 GNU make是用于自动化构建项目的工具,其基于Makefile来决定哪些文件需要更新。Makefile包含了规则,规则由目标(target)和依赖(dependency)组成,以及如何从依赖生成目标的命令(command)。在Makefile中,可以通过指定变量来简化重复的命令或文件列表,提高可读性和可维护性。 Makefile的规则定义了文件间的依赖关系,并提供了一组命令来更新目标。规则的基本语法包括目标、依赖和命令,例如: ```make target : dependency command ``` Makefile还可以包含通配符(wildcard)来匹配一组文件,如`*.c`可以匹配所有的`.c`源文件。`wildcard`函数用于动态获取当前目录下匹配通配符的文件列表。 `VPATH`变量可以设置为包含源文件的目录列表,使得make能够在那里寻找依赖文件。`vpath`关键字则允许更灵活地指定特定类型的文件应该在哪些目录中查找。 Makefile中还有特殊的伪目标(phony target),如`.PHONY`,它们不对应实际文件,而是用来确保命令总是被执行,不受是否存在同名文件的影响。静态模式规则则是一种更高级的规则形式,可以用于生成一组相关的文件,而不仅仅是一个目标。 理解并熟练掌握Makefile中的变量引用和规则是编写高效自动化构建脚本的关键。通过合理的变量使用和规则设计,可以简化构建流程,提高工作效率。