Makefile %GNU make的内置文件名函数

Makefile %GNU make的内置文件名函数,makefile,gnu,Makefile,Gnu,我在makefile中遇到了一些代码,如下所示。有人能教我下面代码中的%是什么意思吗 $(addsuffix .o, % $(objects)) 我搜索了GNU并找到了参考 $(addsuffix pattern, names...) 但是这个函数中的%标记意味着什么呢 $(addsuffix .o, % $(objects)) 谢谢你的帮助。为什么不试试看呢?在addsuffix函数的参数中,%表示%。它在任何方面都不特别,它只是文字百分比字符。所以这个的输出: objects = f

我在makefile中遇到了一些代码,如下所示。有人能教我下面代码中的%是什么意思吗

 $(addsuffix .o, % $(objects))
我搜索了GNU并找到了参考

$(addsuffix pattern, names...)
但是这个函数中的%标记意味着什么呢

$(addsuffix .o, % $(objects))

谢谢你的帮助。

为什么不试试看呢?在
addsuffix
函数的参数中,
%
表示
%
。它在任何方面都不特别,它只是文字百分比字符。所以这个的输出:

objects = foo bar biz baz
$(info $(addsuffix .o, % $(objects))
将是:

%.o foo.o bar.o biz.o baz.o

谢谢你给了我一个非常重要的暗示。此处的%将扩展到“%.o”,它接受.oi的任何文件结尾。如果此构造正在目标上下文中使用,请注意它是不可移植的:较新版本的GNU make不允许模式和显式目标出现在同一规则中。