在makefile中,VPATH如何工作?

时间:2012-05-03 16:05:42

标签: linux makefile

在以下网站中 http://make.paulandlesley.org/vpath.html

作者说:

  

VPATH旨在寻找来源,而不是目标。

但是在GNU make的手册中,它说:

  

make变量VPATH的值指定目录列表   这应该搜索。通常,目录是预期的   包含不在当前目录中的必备文件;   但是, make使用VPATH作为先决条件的搜索列表   规则目标

这是什么意思?

2 个答案:

答案 0 :(得分:2)

这正是它所说的。 make将查找构建内容所需的内容以及已构建的内容以查看是否需要重建内容。

典型情况是,如果使用临时构建目录,则在链接或创建存档之前放置目标文件。然后,您希望make也在那里查看需要重建的内容。

答案 1 :(得分:2)

GNU Make手册说你可以使用VPATH来查找目标。保罗史密斯说你一般不应该。 (无论VPATH原来是不是 为此目的设计是没有意义的。)

有几个原因可以解释为什么以这种方式使用VPATH可能会导致问题(没有一个会诅咒)但paulandlesley的页面特别谈到使用VPATH天真地在远程位置构建目标(这不是工作),在多架构构建的背景下。