お兄ちゃん!
ソースコードから
プログラムを作るには
どうすればいいのかな?
そのことを
「ビルド(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)」 と呼ばれているよ次回は実際にソースコードから実行ファイルを作ってみよう!