makefile之VPATH和vpath的用法

makefile之VPATH和vpath的用法

    • VPATH用法
    • vpath用法

VPATH用法

Makefile中的VPATH变量用于指定搜索文件的路径。

当执行make命令时,首先会搜索当前目录下是否存在所需的文件,如果没有,则去VPATH这个变量的值所对应的路径寻找文件。VPATH变量可以给多个路径赋值,各路径之间可以用空格或者冒号隔开,执行make命令时,搜索的顺序是按照书写时的顺序进行的。例如,可以将VPATH设置为src:…/headers,它指定了两个搜索目录,“src”和“…/headers”。

对于存在多个路径的情况,可以在规则中使用 < 和 <和 <@变量来指定依赖文件和目标文件。例如:

test: test.c ../headers/header.h  
 gcc -o $@ $<

在这个例子中,如果目标文件test的依赖文件在“src”目录下,则可以使用以下命令:

VPATH = src:../headers  
test: test.c  
 gcc -o $@ $<

这样就可以在指定的路径下搜索依赖文件和目标文件了。

vpath用法

在Makefile中,vpath关键字用于为符合特定模式的文件指定搜索目录。

vpath可以接受三个参数,分别为:

符合模式(pattern):这是用来匹配文件名的模式,它必须包含一个百分号(%)字符,用来匹配任意字符。
搜索目录(directories):这是用来指定搜索的目录,可以是绝对路径也可以是相对路径。
模式(pattern)的清除(clear):如果不想再搜索与该模式匹配的文件,可以使用清除选项。
例如:vpath %.c src

这个命令表示,在src目录下搜索所有的.c文件。

对于多个vpath语句,make会按照书写顺序一个一个地执行搜索。

你可能感兴趣的:(makefile,linux)