我们可以连续地使用vpath语句,以指定不同搜索策略。如果连续的vpath语句中出现了相同的< pattern>,或是被重复了的< pattern>,那么,make会按照vpath语句的先后顺序来执行搜索。如: vpath %.c foo vpath % blish vpath %.c bar 其表示“.c”结尾的文件,先在“foo”目录,然后是“blish”,最后是“bar”目录。
vpath test.c 用法二的意思是清除符合文件 test.c 的搜索目录。 最后是用法三,命令格式如下: vpath vpath 单独使的意思是清除所有已被设置的文件搜索路径。 另外在使用 vpath 的时候,搜索的条件中可以包含模式字符“%”,这个符号的作用是匹配一个或者是多个字符,例如“%.c”表示搜索路径下所有的 .c 结尾的文件。
在上面的环境变量中,VPATH 是搜索指定路径的所有文件,vpath关键字的搜索方式是选择性搜索,使用方法如下: vpath 1.c /mkdir/ 在 /mkdir/ 路径下搜索 1.c vpath 1.c 清除 1.c 的搜索路径 vpath 清除已设置好的所有搜索路径 3. makefile 的变量 (1)变量的基本语法 ① 变量的赋值 makefile 中的变量类似于c...
总的来说,vpath指令是makefile中一个非常有用的功能,它可以帮助我们更好地管理代码的依赖关系,提高工作效率。通过灵活地设置文件搜索路径,我们可以让make命令更快速、更准确地查找依赖文件,避免不必要的错误。因此,在编写makefile时,不妨考虑使用vpath指令,让开发工作变得更加轻松和高效。
四、VPATH 的用法 1、Makefile的VPATH VPATH :虚路径 — 在一些大的工程中,有大量的源文件,我们通常的做法时把这许多的源文件分类,并存放在不同的目录中。所有,当make需要区找寻文件的依赖关系时,你可以在文件前加上路径,但最好的方法是把一个路径告诉make,让make在自动去找。
Makefile文件中的特殊变量“VPATH”就是完成这个功能的,如果没有指明这个变量, make只会在当前的目录中去找寻依赖文件和目标文件。如果定义了这个变量,那么,make 就会在当当前目录找不到的情况下,到所指定的目录中去找寻文件了。 VPATH = src:../headers 上面的的定义指定两个目录,“src”和“../headers”,make...
事实上,执行编译的过程是makefile的规则中的命令部分,这一部分是由shell进行解析的,-I 其实是shell下gcc的编译指令。通常,用法是这样的: -I. -I../dir/ 除了使用gcc的参数"-I",我们还可以使用makefile中自带的变量"VPATH",通过环境变量"VPATH"指定的目录会被make添加到目录搜索中。
Makefile 里 VPATH 与 vpath 的用法可以参考<<跟我一起写Makefile>>,讲的很详细。 此处记录我在实际使用 VPATH 与 vpath 时遇见的问题。 我用了一个小 demo 来使用 VPATH,目录结构如下: tmp ├── inc │ └── sub.h ├── makefile
vpath %.c # 取消该模式 vpath # 取消所有模式 VPATH 和 vpath 定义的搜索路径仅对 makefile 规则有效,对 gcc/g++ 命令行无效,比如不能用它定义命令行头文件搜索路径参数。 变量引用与替换 obj=$(dir:%.c=%.o) 可以将变量 dir 中所有以 c 结尾的单词替换成以 o 结尾 ...
其实“VPATH”变量所指定的是Makefile中所有文件的搜索路径,包括了规则的依赖文件和目标文件 用法如下:使用空格或冒号":"将多个需要搜索的目录分开 VPATH = src:../headers 这样搜索目录就是"src"和"../headers" 4.2 选择性搜索(关键字vpath) 还有一种搜索是使用make的关键字"vpath",这是一个关键字,它有三种...