擬似.Target(PhonyTarget) .PHONY
POINT
TASK Target と考えるとわかりやすい
ある一連の処理に名前( Label )をつける
その名前( == ファイル )は存在しないため 常にコマンドは実行される
別の言い方をすると File を生成しないルールを擬似ターゲット
( 通常は target, dep は存在するファイルを表す )
claen, all
POINT
target が存在すれば、Depend がないため、[ `clean is up to date ] となる
そこで 擬似 target であることを、Make に通知するのが PHONY の役割。
clean:
rm -f *.o
shell> touch clean
shell> make clean
.PHONY: clean
shell> make clean
SYNTAX
.PHONY: clean
clean:
rm -f *.o
TIP
Make に 通常のルールを適用する必要がないことを通知するので処理の高速化になる
all: pro1 pro2
all: df pro
.PHONY: df
df:
df -k . | awk 'NR == 2 {printf(%d available, $$4 ) }'
dep 項目は列挙した順にコールされるらしい
pro. prebuild # pro は prebuild に依存するため、
buildcmd .. # build 前に prebuild が実行される
all : Application を構築するすべての作業
install : binary を install
clean : src から作成された binary を削除
distclean : 元の配布物に含まれなかった binary 削除
TAGS : editor の使用する tags を削除
info : TexInfo src より GNU info 作成
check : app に関連する test を実行