異なるコマンドを使用している複数の記述ブロック中で 1 つのターゲットを更新するには,ターゲットと依存ファイルの間に 2 つの連続したコロン (::) を指定します。次に例を示します。
target.lib :: one.f90 two.f90 three.f90 df one.f90 two.f90 three.f90 lib target one.obj two.obj three.obj target.lib :: four.c five.c df /c four.for five.for lib target four.obj five.obj
依存関係の副作用
ターゲットが 2 つの異なる場所の 2 つの依存関係行中で,コロン (:) を使って指定されており,これらの行のうち 1 行だけにコマンドがある場合,NMAKE はこれらの依存関係を隣接したもの,または結合されたものとして解釈します。コマンドを持たない依存関係については推論規則を使用せず,すべての依存関係が 1 つの記述ブロックに属するものと判断し,他の依存関係で指定されているコマンドを次のように実行します。
例 | 評価のされ方 |
bounce.exe : jump.obj echo Building bounce.exe... bounce.exe : up.obj |
bounce.exe : jump.obj up.obj echo Building bounce.exe... |
2 つのコロン (::) が以下のように使用されている場合,このような効果はありません。
例 | 評価のされ方 |
bounce.exe :: jump.obj echo Building bounce.exe... bounce.exe :: up.obj |
bounce.exe : jump.obj echo Building bounce.exe... bounce.exe : up.obj # invokes an inference rule |