発生したエラー
>> Makefile test: ls . .PHONY test
make test Makefile:2: *** missing separator. Stop.
原因
このエラーはMakefileの各処理の内容をタブインデントで記述していないことでただしいターゲットと認識できずに発生するもの。これはMakefileの基本文法であるから問題はそこではない。 IntelliJをはじめとした統合開発環境や、VScodeのような高機能なエディタではタブの動作が変更できる。 私の場合タブキーは半角スペース4つ分に設定されており、今回のエラーが発生した。
対策
最も手っ取り早いのはMakefile専用のプラグインをインストールすること。これによりファイル名を識別子、Makefileのときのみタブ挿入に切り替えてくれる。
あとはマニュアル設定でタブキーの設定を変更する。
IntelliJの場合はMakefile support
を使用できる。
ちなみにIntelliJの場合は以下のようにエディタの一番下にある表示で確認できる。(画像の場合4 spaces
とあるので半角4つ分のスペースがタブキーで入力される)