2016-03-03 59 views
0

我在makefile中遇到了一些代码,如下所示。任何人都可以教我下列代码中的%是什么意思。%GNU make内建文件名功能

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

我搜索GNU做参考,发现

$(addsuffix pattern, names...) 

但是在此功能做了%大关手段。

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

感谢您的帮助。

回答

0

为什么不试试它,看看它做了什么?在addsuffix函数的参数中,%表示%。这不是什么特别的,它只是字面上的百分比字符。因此,它的输出:

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

将是:

%.o foo.o bar.o biz.o baz.o 
+0

谢谢!你给了我一个非常重要的提示。 此处的%将被扩展为'%.o',它接受任何文件末尾.o –

+0

如果此构造在目标上下文中使用,请注意它不可移植:GNU make的新版本不允许使用模式并且明确的目标出现在相同的规则中。 – MadScientist