1
如何从$ PATH变量中确定我的Makefile中哪个是我的程序最适合的安装位置,以便普通用户可以执行该程序?或者任何其他方法,因为所有系统都不同,每个makefile中都不能有一个静态值。
对我来说,第一个值是/ usr/sbin - 可能不会优先于/ usr/local/bin?
如何从$ PATH变量中确定我的Makefile中哪个是我的程序最适合的安装位置,以便普通用户可以执行该程序?或者任何其他方法,因为所有系统都不同,每个makefile中都不能有一个静态值。
对我来说,第一个值是/ usr/sbin - 可能不会优先于/ usr/local/bin?
不要猜测。你会弄错的。
使用/usr/local
并让用户在make install
时间覆盖它。
请参阅http://www.gnu.org/software/make/manual/make.html#Directory-Variables标准GNU Make
变量用于此。
我认为有一些方法可以根据系统确定哪些路径更好地使用。如果安装在BSD或Ubuntu上,可能“优选”路径是不同的。 – Deukalion 2014-11-04 17:12:15
'/ usr/local' *是linux历史上的首选路径,BSD使用'/ opt/local'作为端口我不确定这是否也用于自编译,或者如果仍然是'/ usr/local' 。我想'LSB'可能会对此说些什么,但我不知道它是否正确。但正如我所说,你无法猜测。图书馆最适合的位置可能不在'$ PATH'中。用户可能试图使用“stow”或应用程序路径。不要。 – 2014-11-04 17:57:47
'/ usr/bin'通常由供应商的软件管理填充,例如,一个Linux发行版的包管理器 - 你不想干涉它。这就是为什么'/ usr/local/...'是一个很好的默认值。这也是其他人使用的。 – reinierpost 2014-11-05 10:33:11