虽然缺少依赖关系,但隐式规则不会运行

时间:2013-01-23 15:03:41

标签: makefile

我有一个与此类似的Makefile:

.PRECIOUS: do/%.build

do/%.install: do/%.build
    touch $@

do/%.build:
    touch $@

我的意图是所有/ .install目标都依赖于do / .build目标,并且如果缺少构建目标的戳记文件,则运行构建目标的规则,并且如果构建标记是较新的,则运行安装目标。这在第一次运行时工作正常:

$ make do/foo.install
touch do/foo.build
touch do/foo.install

如果构建标记较新,它也可以正常工作:

$ touch do/foo.build 
$ make do/foo.install
touch do/foo.install

但是,如果存在安装标记并且缺少构建标记,则它无法正常工作:

$ rm do/foo.build 
$ make do/foo.install
make: `do/foo.install' is up to date.

未运行安装目标。我该怎么办?这是否与我必须添加.PRECIOUS行以避免自动删除构建标记这一事实有关?

此致 蒂诺

0 个答案:

没有答案