2015-03-31 31 views
1

目前在我Makefile我:在Makefile中,我們使用'prefix'還是'PREFIX'?

prefix ?= /usr/local 

所以,我可以呼籲make時覆蓋prefix值,如下所示:

make prefix="/new_path" 

我的問題是:沒有一個約定來命名這個存在一個Makefile中的變量,特別是我不得不稱之爲prefixPREFIX

這件事情以來,在這種情況下,大寫或小寫很重要!

注意,我使用autotools,只是一個 「簡單」 的Makefile

+2

我不知道是否有明確的答案。我個人喜歡使用全部大寫字母,當變量是我被文檔記錄爲可被用戶覆蓋的東西時,並使用小寫字母,當它是內部的東西時不會被混淆。 – 2015-03-31 10:56:15

+0

@noufal感謝您的解釋。所以我會在我的PREFIX中使用(因爲可以被覆蓋)。這是一個可憐的,我還沒有找到關於這些約定的文檔(即使他們不完全固定)... – 2015-03-31 12:06:44

+0

這就是*我會*做的,但它真的是我自己的約定。 – 2015-03-31 12:21:00

回答

2

variables for installation directories的GNU的部分進行手動討論prefix

我相信自動工具使用類似的prefix變量/ configure標誌。

然而,與DESTDIR相比。

+0

@ethan謝謝你的文檔,但我已經閱讀它沒有任何線索關於我的具體關注... – 2015-03-31 12:01:33

+0

流行的共識(GNU make和autotools之間)是使用'prefix'。我添加了關於'DESTDIR'的一點,以表明它們也使用了'ALL_CAP'變量,我不知道爲什麼。如果在其他地方沒有對PREFIX的共識(bsd等),這似乎表明你應該使用'prefix'。這就是我發佈信息的原因。我無法給出比這更具體/明確的答案。 – 2015-03-31 15:02:05