ぱらぱらめくる『GNU make Version 3.77(日本語版)』
- こちら
- 目次
- でもこの大部のマニュアルの前に、『慣習的なMakefile』を読んであたりをつけるのもよい
- makeの概要
- makeコマンドはmakefileを読み込んで処理する。特にコンパイリングに多用される
- Makefile入門
- ターゲット、依存関係、コマンド、が書いてある
hogetarget : izon1 izon2 ... コマンド行
-
- この2行相当の羅列
- Makefileが「??」なのは、この原則を守りつつ、省略表記がたくさんあるから。そしてこの省略表記は、見た目は「??」だけれど、書き間違いを防ぐ仕組みでもある(ので覚えることになる)
- Makefileの記述
- ルールの記述
- ルール行でのコマンドの記述
- シェルコマンドの1行に相当する
- make実行時に画面表示される。@で始める行は表示させない
- 変数の利用法
- makeでは変数をマクロと呼ぶ
- 変数には、複数の要素を指定できる(それが一番の変数利用のメリットか…)
- 使用例
RYOBJECTS = hoge.o hage.o hige.o mytarget : $(RYOBJECTS) cc -o mytarget $(RYOBJECTS) $(RYOBJECTS) : myheader.h
-
- 変数定義には "=" と":="との二種類があり、使われ方に違いがある(がここでは割愛)
- "define"という定義の仕方もある
- makeの実行方法
- 暗黙のルール(ここが大事)
- あまりにいつも使う(コンパイルに)ので、そうするものだと決まっていることがある(こういうのが初心者への敷居を高くするのだが…)
- 暗黙のルールのカタログ
- 暗黙のルールのためには決まった変数名がある(その中にCFLAGSとかCXXFLAGSとかがある)
- 自動変数というのもある
- $@ $% $< $? $+ $* とか