makefileを書いてハマった話
Makefileを書いてみた
とりあえず動くかの確認のために簡単なものを書いた。
hello: hello.cc
gcc -o hello hello.cc
コンパイルするコードはこれ
#include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; }
これを実行するとどうなるか
GNUmakefile:2: *** missing separator. 中止.
こうなる。
なんでこれでダメなのかわからず3時間悩んだ。。。
解決方法と原因
まず解決方法から
hello: hello.cc
gcc -o hello hello.cc
これで解決。
vimrcを変更
同じことにならないよう、.vimrcを修正しとくことにした。
.vimrcにこれを追加した。
let _curfile=expand("%:r") "GNUmakefileの時のみtabスペース if _curfile == 'GNUmakefile' set noexpandtab endif
これでGNUmakefileを編集するときは自動でハードタブを入力するように、
set expandtab を解除してくれるようになった。