依存関係の調整

ALWAYS(Jam/MR)

rule ALWAYS ( targets + )
概要

targetsは最新であるかどうかに関わらず常にリビルドされることを明示.cleanやuninstallターゲットに使用される.NOTFILEと組み合わせるのが普通だが必須ではない

LEAVES(Jam/MR)

rule LEAVES ( targets + )
概要

targetsがleafのターゲットのみに依存し,中間生成物には依存しないことを明示する

NOCARE(Jam/MR)

rule NOCARE ( targets + )
概要

targetsが見つからない,またはビルドに失敗しても構わないことを明示.これによってtargetsがビルドされていなくても,それに依存している他のターゲットのビルドをスキップしなくなる.

NOTFILE(Jam/MR)

rule NOTFILE ( targets + )
概要

targetsがファイルではなく,擬似ターゲットであることを明示.依存するターゲットが更新されたときにtargetsは更新される.もしくはALWAYSと組み合わせる

NOUPDATE(Jam/MR)

rule NOUPDATE ( targets + )
概要

targetsのタイムスタンプがチェックされなくなる.これによって,(1)いったんターゲットが生成されたら2度と更新されなくなる,(2)生成されたターゲットが更新されてもそれに依存するターゲットは更新されない,という効果がある.MkDirによって生成されたディレクトリはこれを指定する典型的な例になる

TEMPORARY(Jam/MR)

rule TEMPORARY ( targets + )
概要

targetsを一時ターゲットに指定する.targetsに依存する他のターゲットが更新された後はtargetsを削除しても構わない,ということを明示

FAIL_EXPECTED (Boost.Jam)

rule FAIL_EXPECTED ( targets + )
概要

targetsのビルドが失敗したならそれに依存するターゲットのビルドを続行し,targetsのビルドが成功したらそれに依存するターゲットのビルドをスキップする.すなわち,普通のターゲットの成否と逆の依存関係を生成する