この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:atom
更新日時:2026-05-18 01:50:52

タイトル: make

configureコマンドで作成したMakefileをコンパイルするコマンド。Linux/Unixのソースビルドで標準的に使われる、依存関係を辿りながらビルドする汎用ツールです。

基本的な使い方

$ cd ソースディレクトリ
$ make            # 既定ターゲット(通常はall)を実行
$ make all        # 明示的に all
$ make install    # インストール
$ make clean      # 生成物を削除

Makefileの最小例

makeはカレントディレクトリの Makefile または makefile を読み込み、ターゲットごとのコマンドを実行します。

# Makefile
CC = gcc
CFLAGS = -Wall -O2

all: hello

hello: hello.c
    $(CC) $(CFLAGS) -o hello hello.c

clean:
    rm -f hello

注意: 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インストール先にコピー(慣習)

典型的なソースビルドの流れ

# ソース取得・展開
$ tar xvzf foo-1.0.tar.gz
$ cd foo-1.0

# 環境調査とMakefile生成
$ ./configure --prefix=/usr/local

# ビルド(並列で高速化)
$ make -j$(nproc)

# インストール
$ sudo 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クリーン
cmakeCMake用ビルドシステム
ninja高速ビルドツール

関連