Makefile 如何使%通配符使规则虚假?
我有以下通配符“编程”生成规则,用于将二进制文件上载到设备。这显然不会生成真实的文件,因此应标记为“虚假”。但是,如何将%通配符规则标记为假的Makefile 如何使%通配符使规则虚假?,makefile,wildcard,gnu-make,Makefile,Wildcard,Gnu Make,我有以下通配符“编程”生成规则,用于将二进制文件上载到设备。这显然不会生成真实的文件,因此应标记为“虚假”。但是,如何将%通配符规则标记为假的 %-tangnano-prog: %-tangnano.fs openFPGALoader -b tangnano $^ .PHONY: %-tangnano-prog clean all 无论你放在那里什么,虚假规则都不会给出任何错误,因此很难判断它是否有效。但我认为它没有: $touch blinky tangno prog $make
%-tangnano-prog: %-tangnano.fs
openFPGALoader -b tangnano $^
.PHONY: %-tangnano-prog clean all
无论你放在那里什么,虚假规则都不会给出任何错误,因此很难判断它是否有效。但我认为它没有:
$touch blinky tangno prog
$make blinky Tangno prog
make:“blinky Tangno prog”是最新的。
基本上有两种可能性:
P := blinky foo bar
T := $(addsuffix -tangnano-prog,$(P))
.PHONY: tangnano-prog $(T)
tangnano-prog: $(T)
%-tangnano-prog: %-tangnano.fs
openFPGALoader -b tangnano $^
$ make tangnano-prog P="blinky foo bar"
#2的另一个选项:添加以下内容:
.PHONY:$(过滤掉%-tangnano prog,$(MAKECMDGOALS))
@MadScientist不错,但它不应该是过滤掉
而不是过滤掉
?哦,是的,抱歉我打字太快了:)哦,我喜欢“疯狂科学家”选项!