Makefile の書き方(その1)

新人向けドキュメントの下書をメモ.

  • makefileには生成規則(ルール)を記述する
ターゲット: ソース
   コマンド

Makefileにはこのように,"ソース"のファイルから "ターゲット"のファイルをつくる場合にどのような"コマンド"を実行するかを記述する.これを生成規則と呼ぶ.

  • 変数

makefile中では,"$(変数名)"で変数を使うことができる.

  • 自動変数
変数名
$@ ターゲット
$ ソース
$^ ソースのリスト
  • 暗黙の生成規則

UNIX上で良く使われる生成規則は,"暗黙の生成規則"としてあらかじめ定義されている.

ターゲット:ソース コマンド
%.o: %.c $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -o $@ -c $<
%: %.cpp $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -o $@ -c $
%: %.o $(CC) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@
  • 特別な変数

以下の変数は特別な意味を持ち,初期値として次のような値が入っている.

変数名 意味 初期値
$(CC) Cコンパイラ cc
$(CXX) C++コンパイラ g++

2007/02/18にさらに以下のエントリを追加しました.あわせてどうぞ.

GNU Make
GNU Make
posted with amazlet at 09.04.05
ロバート メクレンバーグ
オライリージャパン
売り上げランキング: 131947
おすすめ度の平均: 5.0
5 どのファイルをコンパイルするかを指定する道具