在Makefile,有三个常用也很好用的自动化变量:$@、$^、$<,所谓自动化变量是在模式规则中定义的一系列文件自动挨个的去除,直至所有的符合模式的文件都取完。这么说可能比较绕,我们可以简单直白的理解,我们写的应用程序,稍微简单的也要有几个文件(.c、.h等),那么复杂的可能有几百,几千,甚至几十万(kernel),我...
表示我们的目标(target)main的依赖对象(components)是main.o mytool1.o mytool2.o,当依赖的对象修改的话,就要去执行规则一行所指定的命令。就像我们的上面那个Makefile第三行所说的一样要执行gcc -o main main.o mytool1.o mytool2.o,注意规则一行中的TAB表示那里是一个TAB键 Makefile有三个非常有用的变量。
四个变量($@、$<、$%、$*)在扩展时只会有一个文件,而另三个的值是一个文件列表。这七个自动化变量还可以取得文件的目录名或是在当前目录下的符合模式的文件名,只需要搭配上"D"或"F"字样。这是GNU make中老版本的特性,在新版本中,我们使用函数"dir"或"notdir"就可以做到了。"D"的含义就是Directory,就...
语法:变量名 := 变量值 在makefile中,经常先定义一个变量,然后往该变量中追加新的值(通过+=符号),比如先定义一个C_SRCS变量(该值可以为空),然后将代码文件test1.c和test2.c添加到C_SRCS中,其代码如下所示: C_SRCS := C_SRCS += test1.c test2.c 在makefile中有一类特殊的变量,其名称为自动变量,...
一、自动变量的概念 在Makefile中,自动变量指的是可以在编写规则或命令中使用的特殊变量,这些变量的值会根据上下文不同而自动地发生变化,从而可以方便地编写通用的规则或命令。 以下是一些常用的自动变量: $@:目标文件的名称,即规则中的目标(target)。
本示例中仅仅以C源代码为例讲解makefile的自动推导规则,事实上,makefile的语法支持很多中语言: C++ :从.cc或者.cpp文件推导.o Pascal :从.p文件推导.o Fortran :从.r或者.f文件推导.o ... 更多细节可以查看官方文档。 变量的使用 在makefile中,同时支持变量的使用,变量的使用大大减少了列举文件的工作量。
Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。 (1)显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。 (2)隐晦规则。由于make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Make...
预定义变量 makefile中有两种预定义变量 自动变量 特殊变量 自动变量 常用的自动变量如下 $@ —— 当前规则中触发命令的目标 $^ —— 当前规则中的所有依赖 $< —— 当前规则中的第一个依赖 下面举一个例子来说明这三个自动变量所代表什么 all : first second third ...
51CTO博客已为您找到关于makefile定义变量的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及makefile定义变量问答内容。更多makefile定义变量相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
百度试题 结果1 题目Makefile中可以使用自动变量,其中$@是指()。 A. 目标文件的完整名称 B. 第一个依赖文件的名称 C. 所有的依赖文件 D. 不包含扩展名的目标文件名称 相关知识点: 试题来源: 解析 A 反馈 收藏