1つのファイルに依存するターゲットのリストを取得しようとしています。 makeの " - what-if"オプションは仕事をしているようですが、引数として与えている以外の古いファイルは無視したいと思います。makeオプション--what-if他の古いファイルも考慮してください
これは私のテストケースである(GNUとはdebianに取り組ん4.0を作る):
$猫のMakefile
all: exe1 exe2
exe1: obj1
echo "a" > exe1
exe2: obj2
echo "b" > exe2
obj1: src1
echo "c" > obj1
obj2: src2
echo "d" > obj2
$
make: Nothing to be done for 'all'.
$ -n -WのSRC1
を作るを作りますecho "c" > obj1
echo "a" > exe1
パーフェクト。これは私が望む答えです:src1を変更すると、exe1が再構築されます。
しかし、私は "SRC2" は、他のファイルを変更した場合...
$ タッチsrc2の
は$ -n -WのSRC1に
echo "c" > obj1
echo "a" > exe1
echo "d" > obj2
echo "b" > exe2
を作るので、作るには、 "意思" でありますまた、 "exe2"。 他の古いファイルを無視するようにmakeに指示する方法はありますか? この場合、 "exe2"はファイル "src1"に依存しないので再構築されることには興味がありません。
つまり、私はこの質問に対する答えを探しています。「どのターゲットがsrc1に依存していますか?」
アドバイスありがとうございます!
をexe1とexe2に依存するあなたのmakefileのデフォルトのルールです。つまり、makeはあなたが望むものを得たと言います。 – Vroomfondel