2012-05-03 52 views
0

在以下網站 http://make.paulandlesley.org/vpath.html在makefile中,VPATH是如何工作的?

作者說:

VPATH被設計爲找貨源,而不是目標。

但在GNU make的手冊,它說:

make變量VPATH的值指定目錄 ,使應搜索的列表。大多數情況下,預計目錄 包含不在當前目錄中的先決條件文件; 然而,使用VPATH作爲搜索列表,用於規則的前提條件和 目標。

這是什麼意思?

回答

1

它的意思正是它所說的。 make將尋找建立東西所需的東西以及已經構建的東西,以查看是否需要重建。

一個典型的場景是如果您在鏈接或創建歸檔之前使用臨時構建目錄來放置目標文件。然後你想make看看那裏也看到什麼需要重建。

+0

VPATH很適合尋找來源,而不是尋找目標...... – zenis

+0

@Cyber​​Rusher我不知道我理解你的評論。 「make」使用它來搜索目標,或者它不會。據我所知,它確實如此。在這種情況下,「不好」意味着什麼?我在我自己的makefiles中使用了'VPATH',它工作得很好。 – HonkyTonk

2

GNU Make手冊說你可以用使用VPATH來查找目標。保羅史密斯說你一般不應該。 (無論VPATH是或不是最初 爲此目的設計的是沒有實際意義。)

爲什麼有使用VPATH這樣幾個原因可能會造成問題(他們沒有確鑿的),但在paulandlesley的頁面是專門談論在多架構構建的情況下,天真地使用VPATH在遠程位置構建目標(這只是不起作用)。