使用以下make
来设置Makefile
(Gnu Make)(假设缺少文件foo.x
和foo.y
)
all: foo.z
foo.z: foo.x foo.y
cat foo.x foo.y > foo.z
产生错误消息:
make: *** No rule to make target `foo.x', needed by `foo.z'. Stop.
但是Makefile
:
all: foo.z
%.z: %.x %.y
cat %.x %.y > %.z
产生以下错误消息:
make: *** No rule to make target `foo.z', needed by `all'. Stop.
在第一种情况下,应用规则,如果发现缺少依赖性。 在第二种情况下,发现规则不合适,这是一个缺失的规则。
我想使用第二个Makefile
(我有很多*.z
个对象要创建),但是会出现与第一个Makefile
类似的错误消息。记录了我的make
输出,并且具有丢失文件的扩展名称将有助于调试。
有可能吗?也许是一种强制使用规则的方法?
当然我没有抓文件,这只是一个例子......
答案 0 :(得分:1)