タイトル: make
configureコマンドで作成したMakefileをコンパイルするコマンド。Linux/Unixのソースビルドで標準的に使われる、依存関係を辿りながらビルドする汎用ツールです。
基本的な使い方
|
$ cd ソースディレクトリ |
Makefileの最小例
makeはカレントディレクトリの Makefile または makefile を読み込み、ターゲットごとのコマンドを実行します。
|
# Makefile |
注意: Makefileのコマンド行は必ずタブ文字で始める(スペースだとエラー)。
よく使うコマンド
| コマンド | 用途 |
|---|---|
make | 既定ターゲット(all)を実行 |
make ターゲット名 | 指定ターゲットを実行 |
make -j4 | 並列ビルド(4プロセス) |
make -n | 実際には実行せず、コマンドだけ表示(ドライラン) |
make -B | 強制的に全ターゲット再ビルド |
make -C ディレクトリ | 別ディレクトリのMakefileを実行 |
make -f ファイル名 | Makefile名を明示 |
make VAR=value | 変数を上書きしてmake実行 |
make clean | ビルド成果物を削除(慣習) |
make install | インストール先にコピー(慣習) |
典型的なソースビルドの流れ
|
# ソース取得・展開 |
失敗するときのチェック
- 「No rule to make target ...」 — ターゲット名・ファイル名のtypo
- 「missing separator. Stop.」 — コマンド行がスペース始まり。タブに直す
- コンパイルエラー — 必要なヘッダ/ライブラリの
-devパッケージ不足 - 権限エラー —
make installは通常 root 権限が必要(sudo) - gcc / cc が無い —
build-essential(Ubuntu)/gcc(CentOS)等を導入
関連コマンド
| コマンド | 用途 |
|---|---|
./configure | 環境調査・Makefile生成 |
make | ビルド |
make install | インストール |
make clean | クリーン |
cmake | CMake用ビルドシステム |
ninja | 高速ビルドツール |
関連
- 親カテゴリ: コマンド一覧 (Linuxコマンド群)
- 関連: make install