私にはこの種のルールがあります:
"foo" *> \out do
need something
create "foo" somehow
正しくビルドされており、ビルドを2回実行してもターゲットはビルドされません。次に、このルールにシステムを追加します。
"foo" *> \out do
...
system' something
依存関係が変更されていないため、shakeを実行しても「foo」ターゲットは再構築されません。とにかく、ルールが変わりました。したがって、新しく追加されたシステムのアクションによってルールの履歴が変更され、「foo」の再構築が強制されることを期待していますが、そうではありませんでした。通常、autoconf / automakeシステムでは、または重要なmakefileでも、ルールはMakefile自体に依存しているため、Makefileが変更されるたびに、プロジェクトが再構築されます。Shakeでは、これが機能し、きめが細かいことを期待しています。
システムのソースコードでは、実行中のコマンドに暗黙の依存関係を追加するものは何も表示されません。
私は何か間違ったことをしていますか?この種の依存関係をサポートしないことは意図的ですか、それとも単に実装されていませんか?