2016-12-02 8 views
2

メイクファイル内にファイルが存在するかどうかを確認する必要があります。このanswer from holmsにに関しては、私はこの方法でそれを試してみました:メイクファイル内の既存ファイルの単純チェック中にエラーが発生しました

ifeq ("","") 
/bin/sh: 1: Syntax error: word unexpected (expecting ")") 
Makefile:3: recipe for target 'all' failed 
make: *** [all] Error 2 

私のミスとどのようにこの構文エラーメッセージの解釈は次のとおりです。

all: 
    ifeq ("","$(wildcard testFile)") 
     echo "File exists" 
    else 
     echo "File is missing" 
    endif 

はいえ、私はこのエラーを取得しますか?

答えて

2

あなたが作るの構文行をタブ付きなので、お使いのシェルに渡すされていることを確認しましたが、タブを取り除く

all: 
ifeq (,$(wildcard testFile)) 
    echo File is missing 
else 
    echo File exists 
endif 
+0

がわかりました(また、条件を逆にして引用符を除く)、助けたことありがとう。私は 'ifeq'文が' make'によって解釈されることを理解しています。しかし、 'echo 'の行は、自分のシェルに渡す必要があるため、タブレーターを持つべきでしょうか? – eDeviser

+0

@eDeviserそうです。 – user657267

+0

あなたの答えは、代わりに4つのスペースを表示するように見えます。これは、stackExchangesエディタの文体的な問題に過ぎません。 – eDeviser

関連する問題