我应该使用什么目录“error:'extra_PROGRAMS',但'extradir'未定义”?

时间:2012-05-22 12:52:14

标签: autoconf automake

我有一个autoconf / automake系统,它有一个名为stand的独立目标。我不希望stand正常构建,所以我在Makefile.am中有这个:

bin_PROGRAMS = grace
extra_PROGRAMS = stand
...
stand_SOURCES = stand.cpp barry.cpp ...

这已经工作了一段时间,但是automake刚刚在我的系统上更新了,现在我收到了这个错误:

src/Makefile.am:4: error: 'extra_PROGRAMS' is used but 'extradir' is undefined
src/Makefile.am:66: warning: variable 'stand_SOURCES' is defined but no program or
src/Makefile.am:66: library has 'stand' as canonical name (possible typo)

所以我补充说:

extradir = .

但这导致了问题。

我不希望安装stand程序。这对我来说只是一个测试程序。但它不是正式测试套件的一部分,它只是出于我自己的目的。我该怎么办?

2 个答案:

答案 0 :(得分:3)

我们发现了这个错误!事实证明,extra需要大写,如下所示:

bin_PROGRAMS = grace
EXTRA_PROGRAMS = stand
...
stand_SOURCES = stand.cpp barry.cpp ...

答案 1 :(得分:1)

您可以尝试有条件地构建它:

noinst_PROGRAMS=
if BUILD_STAND
noinst_PROGRAMS += stand
endif
stand_SOURCES = stand.cpp barry.cpp ...

这不会安装它,因为它位于noinst_PROGRAMS,而其他人通常不会构建它,因为通常不会为它们定义BUILD_STAND