ビルド・サバイバルガイド
この記事ではビルドファンが教えるかっこいいビルドの仕方について書いている。
何らかの理由でソースコードからビルドしなければならないなんてことは?
誰でも一度や二度はあると思う。
そーいう時、ビルドツールの使い方をググるだけでクタクタになるっていうのは全く馬鹿げたことだ。
これだけ知っていれば、楽にビルドできて、次のステップに進める様に主要なビルドツールの使い方を教えよう。
Makefile が存在する時
Makefile が存在する時というのはちょっと注意した方がいいかもしれない。
Makefile しか存在しないかもしれないのだ。
とりあえず、こういう時は make
を使ってみよう。
こんな風に打つ:
% make
ああ、%
はプロンプトを表していて、あなたは その後の make
を打ってくれればいい。分かると思うけど。
make
はカレントディレクトリの Makefile または GNUmakefile を探してそれを読み込んでデフォルトのタスクを処理してくれる。
ビルドできた? 少しでも error があるなら、それはおそらく失敗だ*1。
ビルドできたなら、インストールしよう。
この場合、上記のコマンドを打ったならそれはビルドせよって make
に指示したってことだ。
インストールするなら、別のコマンドを打つ必要がある:
% sudo make install
インストールする時、普通は /usr/local/
のような sudo
が必要なディレクトリに置かれるため、sudo
を付けてるよ。
make
して make install
これは他のビルドツールでも出てくるよ。しっかり覚えておこう。
Makefile が存在しない場合
Makefile が存在しない場合、Makefile を生成しなければいけないかもしれず、それ以外の方法を使わないといけないかもしれない。
ここでは、autotools
と cmake
について書こうと思う。
autotools
な場合
configure
とか configure.ac
とか autogen.sh
とかがある場合、autotools
が使われている可能性が高い。
configure
がある場合、普通に configure
を実行する。こんな風に:
% ./configure
./
を付けているのは、他の configure
を実行しないようにだ。
configure
は Makefile を生成する。
この後は Makefile がある場合と同じだ。
configure.ac
がある場合、autoreconf
を実行する。こんな風に:
% autoreconf
成功すると、configure
が生成される。
この後は、configure
がある場合と同じだ。
autogen.sh
がある場合は、それを実行する。
configure.ac
がある場合が多いが、autogen.sh
した方が成功しやすい。
cmake
な場合
CMakeLists.txt
がある場合、cmake
が使われている可能性がある。
cmake
も Makefile を生成するためのコマンドだ。
こんな風に打つだけで、Makefile が生成されるはずだ:
% cmake .
後は Makefile がある場合と同じだ。
参考
*1:残念だけどこの記事ではそれの対処法については書かない