Makefile 利用make中的计算变量生成目标
这里有一个不起作用的例子Makefile 利用make中的计算变量生成目标,makefile,Makefile,这里有一个不起作用的例子 say-hello := greeting say-bye := farewell greeting: @echo "Hello" farewell: @echo "Bye" .SECONDEXPANSION: %-guvnah: $$(say-$*) @echo "Target was: $(say-$*)" 命令 make hello-guvnah 应该让步 hello Target was: greeting 但只显示 Targ
say-hello := greeting
say-bye := farewell
greeting:
@echo "Hello"
farewell:
@echo "Bye"
.SECONDEXPANSION:
%-guvnah: $$(say-$*)
@echo "Target was: $(say-$*)"
命令
make hello-guvnah
应该让步
hello
Target was: greeting
但只显示
Target was: greeting
如果您在先决条件中双重转义
$*
,它将在二次扩展而不是第一次扩展时被扩展:
.SECONDEXPANSION:
%-guvnah: $$(say-$$*)
@echo "Target was: $(say-$*)"
我用
%-guvnah:$$(比如说-%)
最终还是成功了,但效果也一样。谢谢