使用$(VAR:.x = .y)在Makefile中执行两次替换

时间:2013-04-20 04:45:45

标签: makefile

在Makefile中,我发现我可以使用模式$(VAR:.x=.y)来执行替换,但是我可以在同一个调用中执行两次替换吗?

具体来说,我希望修改一个由其他人编写的相当长的Makefile,其中包含编译器标志-Wa,-adhlns=$(<:.c=.lst)。由于我使用一组编译器标志将.c和.cpp文件放在锤子下,我想将上述替换应用于这两个扩展。 (实际上,我的.cpp文件被覆盖了。)

我已经尝试了-Wa,-adhlns=$($(<:.c=.lst):.cpp=.lst),但这不起作用。我的目标是否可能?

1 个答案:

答案 0 :(得分:0)

你不能这样做,但你可以这样做:

$(addsuffix .lst,$(basename $(VAR))