0

我有一个 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安装程序。这对我来说只是一个测试程序。但它不是正式测试套件的一部分,只是为了我自己的目的。我该怎么办?

4

2 回答 2

3

我们发现了错误!原来extra需要大写,像这样:

bin_PROGRAMS = grace
EXTRA_PROGRAMS = stand
...
stand_SOURCES = stand.cpp barry.cpp ...
于 2012-05-22T17:57:01.253 回答
1

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

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

这不会安装它,因为它已经存在,noinst_PROGRAMS而其他人通常不会构建它,因为BUILD_STAND通常不会为他们定义。

于 2012-05-22T17:33:53.213 回答