2014-11-04 62 views
1

如何從$ PATH變量中確定我的Makefile中哪個是我的程序最適合的安裝位置,以便普通用戶可以執行該程序?或者任何其他方法,因爲所有系統都不同,每個makefile中都不能有一個靜態值。

對我來說,第一個值是/ usr/sbin - 可能不會優先於/ usr/local/bin?

回答

4

不要猜測。你會弄錯的。

使用/usr/local並讓用戶在make install時間覆蓋它。

請參閱http://www.gnu.org/software/make/manual/make.html#Directory-Variables標準GNU Make變量用於此。

+0

我認爲有一些方法可以根據系統確定哪些路徑更好地使用。如果安裝在BSD或Ubuntu上,可能「優選」路徑是不同的。 – Deukalion 2014-11-04 17:12:15

+0

'/ usr/local' *是linux歷史上的首選路徑,BSD使用'/ opt/local'作爲端口我不確定這是否也用於自編譯,或者如果仍然是'/ usr/local' 。我想'LSB'可能會對此說些什麼,但我不知道它是否正確。但正如我所說,你無法猜測。圖書館最適合的位置可能不在'$ PATH'中。用戶可能試圖使用「stow」或應用程序路徑。不要。 – 2014-11-04 17:57:47

+0

'/ usr/bin'通常由供應商的軟件管理填充,例如,一個Linux發行版的包管理器 - 你不想幹涉它。這就是爲什麼'/ usr/local/...'是一個很好的默認值。這也是其他人使用的。 – reinierpost 2014-11-05 10:33:11