【问题标题】:what does "%" mean in a Makefile?Makefile 中的“%”是什么意思?
【发布时间】:2015-11-21 00:02:59
【问题描述】:

我正在浏览一些 shell 脚本,我(第一次)遇到了使用“%”的东西,比如:

build/audio/base/%.wav: src-audio/%.wav

我不知道它应该是什么意思。是不是像“*”这样的东西?

谢谢!

【问题讨论】:

标签: makefile


【解决方案1】:

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

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

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

【讨论】:

  • 是的,它是一个makefile,当我在它的时候,你能告诉我这里的“:”是什么意思吗?你提到了一些关于依赖的事情。你能详细说明吗?谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-07-30
  • 2021-04-11
  • 1970-01-01
  • 2011-02-27
  • 1970-01-01
  • 2018-06-02
  • 1970-01-01
  • 2022-01-25
相关资源
最近更新 更多