0

最近、Makefile の使用から Automake の使用に切り替えましたが、automake を使用して次の単純な if ステートメントを記述する方法がわかりません。

DEBUG ?= 1
ifeq (${DEBUG},1)
CXXFLAGS:=$(CXXFLAGS) -g
else
CXXFLAGS:=$(CXXFLAGS) -O3 -DNDEBUG
endif

automakeを使用している場合、これは可能ですか? からmakefileを自動生成するので、Makefileのテンプレートに書いても意味ないの?または、自動生成された Makefile に追加する方法を見つけようとする必要がありますか?

4

1 に答える 1

1

いいえ、Automake でそのような構文を使用することはできません。最初の 2 行に正確に相当するものはありません。

Automake 条件 (例については、Automake マニュアルの「条件の使用法」をDEBUG参照) を使用して、近いことを行うことができます./configure。ただし、それを行う意味はほとんどありません。グローバルに変更したい場合は、CXXFLAGSこの変数をconfigureではなく で変更するだけMakefile.amです。

于 2010-07-08T22:04:25.540 に答える