* 1 簡単なメイクファイルを書いてみよう
** 1.1 ターゲットと必須項目
- makefileにはプログラムを構築するためのルールを
記述する。
- ルールは、target、prereq (前提項目)、commandsの
3つから構成される。
- ルールの構文は次のとおり (簡略版1)。
target: prereq1 prereq2 ... prereqn
commands
例1
------
hello: hello.c
gcc hello.c -o hello
------
例2
------
foo.o: foo.c foo.h
gcc -c foo.c
------
例3
------
bar: bar.o lexer.o -lfl
gcc -c bar.o lexer.o -lfl -obar
------
- makeは、gccと同じように、-lにてリンクする
システムライブラリを表現できる。
- makefileの先頭にあるルールをデフォルトルールと
呼ぶ。
- makeの引数にはターゲットを書く。対応するルール
が実行される。
- 引数なしで起動した場合はデフォルトルールが実行
される。
- commandsはサブシェルに渡される。
** 1.2 依存関係の検証
- GNU make は、ターゲットと前提条件の連鎖を辿り、
指定されたターゲットを作成するために必要な作業
を特定して、実行する。
** 1.3 再構築作業を最小にする
- makeは、ターゲットファイルが存在する場合、ターゲッ
トファイルと前提条件ファイル達の更新日時を比較し
て、前提のなかにターゲットよりも新しいものがある
ときだけ、Commandsを実行する。
** 1.4 makeの実行
- ここまでの前提。
- makeのルールを記述したファイルは次のいずれか
である。
- makefile
- Makefile
- GNUMakefile
- ファイルはすべて同一ディレクトリにある。
- そのディレクトリにてmakeを実行する。
** 1.5 makefileの基本文法
- ルールの構文 (簡略版2)
target1 target2 ... targetN : prerequiste1 prerequiste2 ... prerequisteM
command1
command2
...
commandK
- commandの前はタブです。
- コメント文字は'#'。
- '\'でcommandを次行に継続できる。(シェルと同じ)
こつこつ。
0 件のコメント:
コメントを投稿