Makefile.具有非虚假先决条件的虚假目标

Makefile.具有非虚假先决条件的虚假目标,makefile,gnu-make,Makefile,Gnu Make,考虑以下Makefile(它不是特别好,而是一个MWE): 似乎make甚至没有查看先决条件。即使我让他们先订购先决条件,这一点也不会改变。有没有办法让make像我没有将测试目标添加到.PHONY时那样处理先决条件?看起来您需要在模式规则中明确列出目标。这起到了作用: $(TST) : test_%: %.exe ./$< "Test" $(TST):测试%:%.exe ./$假冒 > < >,认为它实际上是一个与模式匹配的目标。不知道bash完成的原因是什么 [..] Con

考虑以下Makefile(它不是特别好,而是一个MWE):

似乎
make
甚至没有查看先决条件。即使我让他们先订购先决条件,这一点也不会改变。有没有办法让
make
像我没有将测试目标添加到
.PHONY
时那样处理先决条件?

看起来您需要在模式规则中明确列出目标。这起到了作用:

$(TST) : test_%: %.exe
    ./$< "Test"
$(TST):测试%:%.exe
./$<“测试”

我猜测原因是:不足以声明<代码> >假冒<代码> > < <代码> >,认为它实际上是一个与模式匹配的目标。不知道bash完成的原因是什么

[..]
Considering target file 'test_foo'.
 File 'test_foo' does not exist.
 Finished prerequisites of target file 'test_foo'.
Must remake target 'test_foo'.
Successfully remade target file 'test_foo'.
make: Nothing to be done for 'test_foo'.
$(TST) : test_%: %.exe
    ./$< "Test"