makeの使い方

makeとは

C言語のプログラムをコンパイルする場合のように、時間的に依存関係にあるファイルの処理を自動化する場合には make が便利である。

makeの手順

  1. データベース(Makefile)を作る。
  2. make を実行する。

Makefile の書式

(ひとつ以上の)依存関係名よりターゲットが古い場合にコマンドが実行される。

ターゲット : 依存関係名 ...
(Tab)コマンド
	.
	.

基本的な使い方

C言語のプログラム(test.c)から a.out をコンパイルする手順を make によって自動化する方法。

  1. Makefile を作る。
    以下の内容で Makefile を作成する。
    a.out : test.c
    	cc test.c
    
  2. make を実行する。
    % make
    もし、a.out が作られた時刻より後に test.c が修正されていたら cc test.c を実行する。

暗黙のルール

make には特定のファイルを処理するために、あらかじめいくつかのルールが設定してある。
例えば、aaa.o がターゲットの場合は aaa.c をコンパイルするものとみなして、Makefile にルールを記述しなくても cc aaa.c を実行してくれる。
この暗黙のルールはユーザーが特定のルールを追加・変更できる。

変数

自動変数

コマンド行でターゲット名や依存関係の名前を自動的に得たい場合には下記の自動変数を使用する。

$@
ターゲット名
$<
最初の依存関係の名前
$?
ターゲットより新しい依存関係の名前をスペースをはさんで並べたもの
$^
全ての依存関係の名前をスペースをはさんで並べたもの

Makefile の例


Home | Contents
Mail