在Makefile中,我们使用'prefix'还是'PREFIX'?
目前在我Makefile
我:在Makefile中,我们使用'prefix'还是'PREFIX'?
prefix ?= /usr/local
所以,我可以呼吁make
时覆盖prefix
值,如下所示:
make prefix="/new_path"
我的问题是:没有一个约定来命名这个存在一个Makefile中的变量,特别是我不得不称之为prefix
或PREFIX
?
这件事情以来,在这种情况下,大写或小写很重要!
注意,我不使用autotools
,只是一个 “简单” 的Makefile
的variables for installation directories的GNU的部分进行手动讨论prefix
。
我相信自动工具使用类似的prefix
变量/ configure
标志。
然而,与DESTDIR
相比。
@ethan谢谢你的文档,但我已经阅读它没有任何线索关于我的具体关注... – 2015-03-31 12:01:33
流行的共识(GNU make和autotools之间)是使用'prefix'。我添加了关于'DESTDIR'的一点,以表明它们也使用了'ALL_CAP'变量,我不知道为什么。如果在其他地方没有对PREFIX的共识(bsd等),这似乎表明你应该使用'prefix'。这就是我发布信息的原因。我无法给出比这更具体/明确的答案。 – 2015-03-31 15:02:05
我不知道是否有明确的答案。我个人喜欢使用全部大写字母,当变量是我被文档记录为可被用户覆盖的东西时,并使用小写字母,当它是内部的东西时不会被混淆。 – 2015-03-31 10:56:15
@noufal感谢您的解释。所以我会在我的PREFIX中使用(因为可以被覆盖)。这是一个可怜的,我还没有找到关于这些约定的文档(即使他们不完全固定)... – 2015-03-31 12:06:44
这就是*我会*做的,但它真的是我自己的约定。 – 2015-03-31 12:21:00