自分が参照したいものを上の方にして列挙.
マクロ
一般的な書き方
他のMakefileで良く使われる手法.「書くとき」というより「読むとき」用のリファレンス.
コンパイラ指定
「どのコンパイラを使うか」の指定.他のコンパイラへの変更を容易にするため分離.
「CC」などの名前(「C Compiler」とか「Compiler Collection」とかの短縮?)で使用.
オプション指定
共通オプション.ぶっちゃけ,良くわかってない.ウィンドウを出すタイプか,とかいろいろ指定.
「OPT」「OPTS」などの名前(たぶん「OPTIONS」の短縮)で使用.
インクルードパス指定
「ヘッダファイルはどこにあるか」を指定.色んなライブラリを使う場合,それに対応するヘッダファイルのパスをここで指定.
「INC」「INDS」などの名前(たぶん「INCLUDES」の短縮)で使用.
ライブラリパス指定
「ライブラリはどこにあるか」を指定.色んなライブラリを使う場合,それらのライブラリのパスをここで指定.
「LIB」「LIBS」などの名前(たぶん「LIBRARIES」の短縮)で使用.
ターゲット指定
最終的に生成されるもの.「〜.exe」とか「a.out」とか.
「TARGET」などの名前で使用.
ヘッダファイル用マクロ
全てのヘッダファイル.使ってるのを見かけない.普通は「CPP→関連ヘッダ」なので,使う意味がないのかもしれない.
「HEADER」「HED」などの名前で使用.
ソースファイル用マクロ
全てのソース(ここではCPP)ファイル.「依存関係の計算」に利用したり,「オブジェクトファイルの名前を求める」のに使われたりする模様.
「SRC」「SOURCE」などの名前で使用.
オブジェクトファイル用マクロ
全てのオブジェクトファイル(OとかOBJとか).上のソース用マクロから「OBJ=$(SRC:.cc=.o)」とか「OBJ = $(SRC:%.c=%.o)」で,拡張子を変更することで求めるのが一般的っぽい.オブジェクトファイルが一つでも変われば,exeファイルも更新が必要になるので,ターゲットの依存部分として指定されることが多い.
「OBJ」「OBJS」などの名前で使用.