[解決済み] ifeq の Make エラー: 予期しないトークン付近のシンタックスエラー
2023-02-24 19:52:17
質問
一箇所だけ文字列照合を行うMakefileを書いているのですが、以下のようなコードです。
if test ...; \
then \
shell scripts... \
fi
ifeq ($(DIST_TYPE),nightly)
shell scripts ...
endif
ここでは、最初の
if
はシェルスクリプト、2番目の
ifeq
はGNU Makeの条件です。しかし、以下のようなエラーが発生する。
ifeq (nightly,nightly)です。
/bin/sh: -c: line 0: 予想外のトークン `nightly,nightly' の近くでシンタックスエラーが発生しました。
/bin/sh: -c: 0行目: `ifeq (nightly,nightly)'.
ここで何が起こっているのでしょうか?Makeがシェルを呼び出そうとしているようです。
どうすれば解決するのでしょうか?
条件文をインデントしないで書くとよいことがわかりました。
インデントがない場合、Makeはそれ自体をディレクティブとして扱い、そうでない場合はシェルスクリプトと見なします。
コード例
間違っています。
target:
ifeq (foo, bar)
...
endif
正しい。
target:
ifeq (foo, bar)
...
endif
関連
-
[解決済み] makefilesに複数行のコメントを追加する方法
-
[解決済み] タブ文字がない有効なMakefileは作れますか?
-
[解決済み] makeファイルによるディレクトリの作成
-
[解決済み] 1つのソースファイルからいくつかのターゲットを生成するGNU Makefileルール
-
[解決済み] mkdir を使っているときに makefile で "directory already exists error" を防ぐには?
-
[解決済み] メイクファイル ifeq 論理的または
-
[解決済み] GNU makeで再帰的ワイルドカード?
-
[解決済み] GNU make: ジョブの数はシステムの CPU コアの数と同じであるべきか?
-
[解決済み] GNU make で、複数の拡張子を持つリストの各ファイルの拡張子を変更するには?
-
[解決済み] 別ファイルの内容を読み込んでmakefileに変数を作成する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Makefile からプログラムが存在するかどうかをチェックする
-
[解決済み] makefilesに複数行のコメントを追加する方法
-
[解決済み] タブ文字がない有効なMakefileは作れますか?
-
[解決済み] makeファイルによるディレクトリの作成
-
[解決済み] mkdir を使っているときに makefile で "directory already exists error" を防ぐには?
-
[解決済み] メイクファイル ifeq 論理的または
-
[解決済み] GNU makeで再帰的ワイルドカード?
-
[解決済み] GNU makeのゴール/ターゲットのうち、定義に変数を含むものをリストアップする
-
[解決済み] GNU make: ジョブの数はシステムの CPU コアの数と同じであるべきか?
-
[解決済み] 別ファイルの内容を読み込んでmakefileに変数を作成する