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 に答える