“%”在Makefile中的含义是什么?

时间:2015-11-21 00:03:00

标签: makefile

我正在浏览一些shell脚本,我遇到(第一次)使用“%”,有些事情如下:

{{1}}

我不知道这是什么意思。有点像“*”吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

这是来自makefile,而不是shell脚本。来自the documentation

  

目标模式由前缀和后缀之间的“%”组成,其中一个或两个可以为空。仅当文件名以前缀开头并以后缀结尾且不重叠时,模式才匹配文件名。前缀和后缀之间的文本称为词干。因此,当模式“%.o”与文件名test.o匹配时,词干为“test”。通过将词干替换为字符“%”,将模式规则先决条件转换为实际文件名。因此,如果在同一示例中,其中一个先决条件被写为“%.c”,则会扩展为“test.c”。

因此,与“build / audio / base / * .wav”匹配的每个文件都具有“src-audio / * .wav”的依赖关系,其中由“*”表示的两个部分必须匹配。