Makefile 通用模式规则——来自 xyzzy.ext0 的 xyzzy-en_US.ext2

2024-01-25

我无法找到一种方法来使用 make 为以下类型的生产定义通用模式规则:

require xyzzy-en_US.ext2 from xyzzy.ext0 via xyzzy.ext1.

这有效:

all: xyzzy-en_US.ext2
# to be compiled from xyzzy.ext0

%.ext1 : %.ext0
  # produce xyzzy.ext1

%-en_US.ext2 : %.ext1
  # produce xyzzy-en_US.ext2

但是如何概括第二条规则的区域设置部分呢?或者我是否需要为所有不同的区域设置生成规则?

这些都不起作用:

%-??_??.ext2 : %.ext1
  # ...

%.ext2 : $(@,%-??_??.ext2,%.ext1)
  # ...

使用 Make 没有什么好的方法来做到这一点(正则表达式处理是我的愿望清单中最重要的),但这里有一个拼凑。

您可以为每个区域设置一个单独的规则,该规则适用于任何“事物”(xyzzy 或其他)。但由于您事先不知道将调用什么区域设置,但您确实知道存在哪些 ext0 文件,因此最好为每个“事物”制定规则:

THINGS = $(basename $(wildcard *.ext0)) # xyzzy qrssr...

define TEMPLATE
$(1)-%.ext2: $(1).ext1
    @echo produce $$@ from $$^ using $$*
endef

$(foreach thing,$(THINGS),$(eval $(call TEMPLATE,$(thing))))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Makefile 通用模式规则——来自 xyzzy.ext0 的 xyzzy-en_US.ext2 的相关文章

随机推荐

  • make找不到tools.jar

    运行Ubuntu 12 04 我已经添加到路径 home jeffrey jdk1 6 0 43 lib 我正在尝试使用 Make 从源代码构建 make j16 但遇到错误 build core config mk 268 Error c
  • 来自 pandas Dataframe 的具有不确定性的 LaTeX 表

    我目前正在编写一份报告 其中包含用 python 计算并存储在 pandas DataFrame 中的许多值和不确定性 这些值必须放入报告中 包括错误 目前我唯一的方法是手动将值与错误合并 其中一个示例如下所示 begin tabular
  • 如何MVC 5下拉(多选)框

    我在使用这个下拉框时遇到了问题 似乎无法正确处理 代码如下 查看 Index cshtml using EvaSimulator Models Model EvaSimulator Models ModelVariables ViewBag
  • 当有更多可用机器时,Spark 仅使用一台工作机器

    我正在尝试通过 Spark 并行化机器学习预测任务 我之前已经在其他任务中成功使用过 Spark 多次 并且之前没有遇到过并行化问题 在这个特定任务中 我的集群有 4 个工作线程 我在具有 4 个分区的 RDD 上调用 mapPartiti
  • 使用 silverlight 的 Wcf 服务的最佳实践?

    您将如何构建在 silverlight 应用程序中调用 wcf 服务的代码 仅使用一次实例化的 wcf 服务代理 又名单例 并在整个 SL 应用程序中使用它 如果是这样 您如何解决 ws call completed 事件取消订阅控件的问题
  • 计算卷积的最快方法

    有人知道计算卷积最快的方法吗 不幸的是 我处理的矩阵非常大 500x500x200 如果我使用convn在 MATLAB 中 这需要很长时间 我必须在嵌套循环中迭代此计算 所以 我使用了 FFT 卷积 现在速度更快了 但是 我仍在寻找更快的
  • 如何在jmeter中设置IP欺骗?

    我现在正在我的机器上通过 jmeter 对网站进行负载测试 但我想要一个真实的场景 那么 jmeter 是否可以使用 ip 别名或 ip 欺骗 这看起来像是从不同的 ip 地址发送请求 是的 可以 查看属性源IP地址 http jmeter
  • SQL 空值内连接

    我有一个加入 SELECT FROM Y INNER JOIN X ON ISNULL X QID 0 ISNULL y QID 0 Isnull像这样的 Join 会使速度变慢 这就像有一个条件连接 对于这样的事情有什么解决办法吗 我有很
  • 没有全局变量的Python动画

    我正在编写康威生命游戏的实现 我的第一次尝试只是在每次更新后使用 matplotlib 的 imshow 在 1 和 0 的 NxN 板上绘制板图 然而 这不起作用 因为程序在显示情节时就会暂停 您必须关闭绘图才能获得下一个循环迭代 我发现
  • 随机选择一个区域并对其进行多次处理

    我有一个这样的数据 gt sp Q96A73 P33MX HUMAN Putative monooxygenase p33MONOX OS Homo sapiens OX 9606 GN KIAA1191 PE 1 SV 1 RNDDDDT
  • 通过在同一日期或最近的先前日期(不仅仅是完全匹配)加入来合并两个表

    我有两张表 客户ID 潜在客户日期 潜在客户来源 and 客户ID 产品 兴趣 日期 产品 兴趣 我希望两个创建一个表 其中对于每个 CustomerID 每个 Product Interest 连接到最接近日期 但不是之后 的 Lead
  • CakePHP“尝试获取非对象的属性”错误

    当我发布表单时 它显示错误 Trying to get property of non object APP Controller UsersController php line 647 这里是ctp文件表单代码 admin highli
  • 模块中的全局变量范围

    以下是我的文件和输出 我想做的就是获得价值x after func1 as 20 我已经参考过这个答案 https stackoverflow com questions 15595393 python global variable sc
  • 如何解释elf符号表部分的st_info字段

    The man page http manpages ubuntu com manpages xenial man5 elf 5 html有这样说 st info This member specifies the symbol s typ
  • 数组应该被视为水平结构还是垂直结构

    我正在做一些 Matlab 作业 在概念化它处理矩阵的方式时遇到问题 在 Matlab 中 矩阵的地址为d row col format 我已经编程了一段时间 并且总是倾向于将一维数组视为水平结构 其中第二维从下方延伸 从计算机的角度来看
  • Laravel-mix Webpack 公共路径

    所以我使用 Laravel Mix 并在 Webpack 中设置了代码分割 我正在为我的 Vue 组件使用动态导入 如下所示 Vue component UserMenu gt import components UserMenu vue
  • 将参数从 udev 规则文件传递给 shell 脚本

    在规则文件中 通过传递参数 LABEL 和 DEVNAME 来执行脚本以进行安装 ACTION add RUN appmount scripts usb mount sh E ID FS LABEL E DEVNAME 在 usb moun
  • 表单在 while 循环期间冻结

    我有一段代码可以检查某个应用程序是否正在运行 while Process GetProcessesByName notepad Length 0 System Threading Thread Sleep 1000 它将检查用户是否正在运行
  • 为什么Intellij IDEA不显示

    Windows 8 设置中的所有内容均设置为UTF 8 例如 Intellij IDEA 显示中文字符 这意味着它确实设置为 Unicode 字符集 但它显示一个框而不是 MATHEMATICAL FRAKTUR CAPITAL G 符号
  • Makefile 通用模式规则——来自 xyzzy.ext0 的 xyzzy-en_US.ext2

    我无法找到一种方法来使用 make 为以下类型的生产定义通用模式规则 require xyzzy en US ext2 from xyzzy ext0 via xyzzy ext1 这有效 all xyzzy en US ext2 to b