我有这样的规则:
"foo" *> \out do
need something
create "foo" somehow
它已正确构建,并且运行构建两次不会构建目标。然后我在这个规则中添加一个系统:
"foo" *> \out do
...
system' something
现在运行shake 不会重建“foo”目标,因为没有更改依赖项。总之,规则变了。所以我希望新添加的系统动作会改变规则的历史,进而强制重建“foo”,但事实并非如此。通常在 autoconf/automake 系统中,甚至在非平凡的 makefile 中,规则依赖于 Makefile 本身,因此无论何时更改项目都会重新构建。在 Shake 中,我希望它能够工作并且是细粒度的。
在 system' 的源代码中,我看不到任何对正在运行的命令添加隐式依赖的内容。
难道我做错了什么?是有意不支持这种依赖关系,还是根本没有实现?