在生成文件中,VPATH如何工作?

Y.L*_*.L. 5 linux makefile

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

作者说:

VPATH旨在查找源而不是目标。

但在GNU make的手册中却说:

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

这是什么意思?

Bet*_*eta 6

GNU Make 手册说你可以使用 VPATH 来查找目标。保罗史密斯说你通常不应该这样做。(VPATH 最初是否是为此目的而设计的,目前尚无定论。)

以这种方式使用 VPATH 可能会导致问题的原因有几个(都不是可恶的),但是paulandlesley的页面专门讨论了天真地使用 VPATH 在远程位置构建目标(这不起作用),在上下文中多架构构建。


Hon*_*onk 5

这就是说的意思。make将同时寻找构建某些东西所需的东西和已经构建的东西,以查看是否需要对其进行重建。

典型的情况是,如果使用临时构建目录,则在链接或创建归档文件之前将目标文件放在其中。然后,您也想去make那里看看需要重建什么。