在生成的先决条件中使用make target name

时间:2014-04-23 18:56:42

标签: makefile gnu-make

所有我想要做的事情......

some_file.out : ..... ver_$(basename $@).ver:
   .....

$@未按预期展开,但仅在规则标头中展开。在规则正文中,所有ver_$(basename $@).ver的使用都根据需要进行扩展。我如何修改它以使其按预期工作?

1 个答案:

答案 0 :(得分:3)

您的省略号会忽略示例中过多的重要部分,以提供完整的解决方案。但是,一个选项是使用static pattern rules,如下所示:

some_file.out : %.out : ver_%.ver
        ...

如果这还不够,你可以使用二次扩展,但这是一个更大的锤子。