所有我想要做的事情......
some_file.out : ..... ver_$(basename $@).ver:
.....
$@
未按预期展开,但仅在规则标头中展开。在规则正文中,所有ver_$(basename $@).ver
的使用都根据需要进行扩展。我如何修改它以使其按预期工作?
答案 0 :(得分:3)
您的省略号会忽略示例中过多的重要部分,以提供完整的解决方案。但是,一个选项是使用static pattern rules,如下所示:
some_file.out : %.out : ver_%.ver
...
如果这还不够,你可以使用二次扩展,但这是一个更大的锤子。