我有一些参数化的规则如下:
.SECONDEXPANSION:
NAME=default
foo: x-$$(NAME)
bar: NAME=bar
bar: foo
baz: NAME=baz
baz: foo
x-%:
@echo building $@
运行make bar
时,我希望得到以下输出:
$ make bar
building x-bar
但我明白了:
$ make bar
building x-default
有没有办法延迟规则的扩展'在被调用之前的先决条件,所以我可以像这样参数化规则吗?我想避免使用define ... endef
等,因为我的规则非常复杂,并且在$$
中有另一个级别会严重损害可读性。