我有以下Makefile片段,我不太明白。特别是$(@:foobar_%=%)
的含义是什么?感谢。
foobar_test:
@echo $(@:foobar_%=%) # will print test
答案 0 :(得分:2)
另一种类型的替换参考允许您使用patsubst函数的全部功能。它具有与上述'$(var:a = b)'相同的形式,但现在必须包含单个'%'字符。这种情况相当于'$(patsubst a,b,$(var))'。有关patsubst函数的说明,请参阅字符串替换和分析的函数。
For example:
foo := a.o b.o c.o
bar := $(foo:%.o=%.c)
sets ‘bar’ to ‘a.c b.c c.c’.