在书写Makefile的时候,将单独在一个目录中编译软件,以避免生成的中间文件散在源文件中,乱花了眼。vpath(VPATH)可以指定搜索目录。auto tools在编译树中生成Makefile时就使用了vpath命令,来达到前面我们所说的目的。
例子,目录结构
src
file1.cpp file2.cpp
Makefile
build
Makefile
上面的结构中,src目录结构中的Makefile可以正常编写,如
all : file1.o file2.o
而build目录下的Makefile则使用如下规则
VPATH = ../src
include ../src/Makefile
在build目录下,进行make的时候,生成的中间文件就放在build目录下了。是不是很简单呢。
vpath与VPATH的区别在于VPATH指定全局的搜索路径,而vpath可以针对特定的文件搜索路径。vpath命令有三种形式:
vpath pattern path : 符合pattern的文件在path目录搜索。
vpath pattern : 清除pattern指定的文件搜索路径
vpath : 清除所有文件搜索路径。
阅读(11413) | 评论(1) | 转发(1) |