0

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

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

我试过-Wa,-adhlns=$($(<:.c=.lst):.cpp=.lst)了,但这不起作用。我的目标有可能吗?

4

1 回答 1

0

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

$(addsuffix .lst,$(basename $(VAR))
于 2013-04-20T04:51:53.633 回答