お兄ちゃん!
ソースコードから
プログラムを作るには
どうすればいいのかな?
そのことを
「ビルド(build)」と呼ぶよ
ビルド手順は使うツールや
プログラム言語などによって
変わってくるんだ
今回は
Linux で一般的な
C や C++ 言語での
ビルドを説明するね
ビルドには
以下のパッケージが必要だよ
| パッケージ | 役割 |
|---|---|
| gcc | コンパイラ(ソースコードから実行ファイルを生成) |
| make | ビルドツール(コンパイラの動作を統括) |
ソースコードによっては
以下のようなパッケージが
追加で必要になる場合があるよ
| パッケージ | 役割 |
|---|---|
| autoconf | configure スクリプト生成 |
| automake | Makefile ファイル雛形生成 |
| flex | 字句解析 |
| bison | 構文解析 |
| pkg-config | パッケージ管理 |
| libtool | ライブラリ管理 |
| m4 | マクロ処理 |
| patch | ソースコード修正 |
| ncurses | 画面描画ライブラリ |
追加パッケージは
どうやって知ればいいのかな?
たいていソースコードには
README や INSTALL ファイルが付属しているよ
この中に必要なパッケージやビルド手順が
書かれていることが多いからこれを読もう!
configure
多くの場合ソースコードと一緒に
configure スクリプトが
付属しているんだ
これは以下のようなビルドの
前準備をしてくれるツールだよ
- マシン環境(OS,
必要パッケージなど)の確認 - 機能の有効/無効の設定
- ビルド設定ファイル Makefile 生成
どんな指定ができるかは
--help オプションで
調べられるよ
./configure --help
そのプログラム独自の機能などの確認ができるんだね
そうしたら必要なオプションを指定して
configure スクリプトを実行しよう!./configure
簡単そうだけど失敗することってある?
失敗する場合は必要なライブラリやツールが無い場合がほとんどだよエラーメッセージを読んで不足しているものをインストールしてあげよう
make次に
make を実行しようこれで実行ファイルを生成してくれるよmake
これだけで作ってくれるんだ?!
configure スクリプトが生成した
Makefile の指示に従って動作しているだけだからねmake が何をしているのか気になるのならMakefile を覗いてみるといいよless Makefile
make installビルドが終わったらインストールだよ成果物を所定のディレクトリへ配置しよう!
make install
/usr 配下などにインストールする場合は書き込みができるようsudo が必要となるよ今回はソースコードから実行ファイルを作るビルドを学んだよ!
configure スクリプトと make で簡単にできてしまうんだね!これらの定型的な手順は「CMMI (configure-make-make-install)」 と呼ばれているよ次回は実際にソースコードから実行ファイルを作ってみよう!