1. ホーム
  2. リナックス

undefinedmakefile:n: *** セパレータがありません。

2022-02-08 01:50:21

この問題は、makefileがセパレータとしてタブを使用しているために発生します。空白を4つ使うと、次のようなエラーが出ます: makefile:n: *** missing separator. stop. ここでnは最初の行です。

etc/vim/vimrc ファイルを開くと、以下のように設定されていることがわかります。

set autoindent
set cindent
set smartindent
set softtabstop=4
set tabstop=4
set shiftwidth=4
set expandtab

を設定した場合、問題が発生します。

set expandtab

なぜなら "set expandtab" はTABをスペースに変換してしまうからです。makefileファイルを書くと、エラーを報告します。以下のように設定して、エラーを報告しないようにしましょう。

set noexpandtab
Or.
if has("autocmd")
        autocmd BufRead,BufNewFile *.c,*.h set expandtab
endif