0

デバッグしたいメイクファイルがあります。私は次のような構造を持っています:

ifeq ($(CC_VER),4.3)
error "I am here"
AR             = ar6x qwe
CSL_LIBDIR     = $(CC_DIR)\lib
CSL_INCDIR     = $(CC_DIR)\include
else
    error "Please check that commands and include/lib path are correct for your version of CC  compiler"
endif

しかし、うまくいきません。次のように CC_Ver を設定したバッチファイルからこの makefile を実行します。

set CC_VER= 4.3

if が機能しない理由を見つけることができるように、CC_Ver を出力する方法を見つけたいと考えています。

また、どうすればエラーを生成できますか? エラー「メッセージ」は機能しません。

私はGmakeを使用しています。

4

1 に答える 1

0

エラーの構造を使用でき$(error text...)ます。メッセージが次のような致命的なエラーを生成しますtext

$(error Please check that commands and include/lib path are correct for your version of CC  compiler)

$(info text...)同様に、次のように、情報目的で構成を使用できます。

$(info CC_VER has the value "$(CC_VER)")

ドキュメントについては、Make を制御する関数を参照してください。

変数の値をすばやく調べたいだけの場合は、-pまたは--print-data-baseオプションを に使用することもできます。makeこれにより、すべてのルールと変数の値が出力されます。

コマンドのとの間にスペースがあるため、ifステートメントは失敗します。このスペースは変数値に保持されるため、 と等しくなく、=4.3set CC_VER$(CC_VER)4.3<space>4.3

于 2012-07-05T20:22:20.157 に答える