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