2

私はautomakeでこれをやろうとしています

platform=$(uname)
ifeq ($(platform), Darwin)
    stmt = ...
else
    stmt1 = ...
endif

しかし、私は得る

エラー: if なしの else

エラー: if なしの endif

私は何を間違っていますか?

4

1 に答える 1

5
  • すべてのステートメントが列 1 から始まるように、インデントを削除します。
  • Automake 条件付きでは、最初に次のように構成スクリプトで条件変数を定義する必要があります。

    AM_CONDITIONAL([DARWIN], [test $(uname) -eq "Darwin"])
    

    次に、Automake ファイルで次のようにします。

    if DARWIN
    stmt = ...
    else
    stmt1 = ...
    endif
    

または、Automake ファイルのルールの本体として、bash スクリプトで if ステートメントを記述します。

于 2013-03-24T11:47:40.800 に答える