共享命令但与隐式规则冲突的目标/依赖关系的Makefile对

hl037_

我有许多对具有不同扩展名的文件目标/依赖项,但我无法执行隐式规则,因为该模式太笼统,并且会与其他隐式规则冲突...是否有一种方法可以在短路?

(例如,目标文件位于一个有序变量中,而deps处于另一个变量中以相同的方式排序)

例如 :

foo.a : foo.b
    cmd1 $< $@

bar.a : bar.b
    cmd2 $< $@

foo1.a : foo.b
    cmd2 $< $@

bar1.a : foo.b
    cmd1 $< $@

foo2.a : something.b
    cmd2 $< $@

bar2.a : something2.b
    cmd1 $< $@

名称实际上可以是随机的

贝塔

您可以将其缩短一点:

foo.a bar1.a foo1.a : foo.b

bar2.a : something2.b

foo.a bar1.a bar2.a :
    cmd1 $< $@

bar.a : bar.b

foo2.a : something.b

bar.a foo1.a foo2.a :
    cmd2 $< $@

正如您所建议的那样,您也可以在没有来自一对变量的命令的情况下构造所有这些规则,但我不建议这样做:结果将是一个难以理解或维护的神秘makefile。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Xcode如何找到隐式目标依赖关系?

Postgres:关于冲突与隐式冲突目标

Makefile覆盖默认隐式规则

Makefile 中的隐式规则取消

覆盖Makefile中的隐式规则

汇编的Makefile使用隐式规则而不是显式规则

`make` 何时应用隐式规则 `Makefile: Makefile.o`?

函数调用作为隐式规则中的目标

将隐式规则定义的目标标记为.SECONDARY

Makefile隐式规则匹配-前缀长度不影响匹配

Makefile不对文件使用隐式规则

多个目标匹配链接器标志的隐式依赖

makefile依赖关系两次替换目标模式

即使目标比依赖关系更新,每次都会运行 makefile 配方

make / Makefile:CLI选项可“禁用”目标的依赖关系

使用通配符(紧凑)的基于Makefile的目标依赖关系

GNU Makefile-具有多个具有一个依赖关系的目标的模式规则将忽略除第一个目标以外的所有目标

目标依赖项:Makefile没有使目标出错的规则

Makefile:具有非显式输出文件名的隐式规则破坏了规则匹配

隐式类型提升规则

如何在隐式makefile规则中排除一些文件?

错误:我的Makefile中出现“混合的隐式和静态模式规则”

如何抑制 Makefile 中的所有默认变量和默认隐式规则?

隐式目标未触发

即使已经有另一个与目标匹配的规则,模式隐式规则也会执行吗?

gcc-Makefile:添加依赖性规则后,目标“全部”的配方失败

Maven依赖关系解析(冲突)

为项目子目录中跨目标的依赖关系创建make规则

隐式依赖关系来查找go stdlib软件包