新人向けドキュメントの下書をメモ.
- 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++ |