gpt4 book ai didi

error-handling - GNU make 可以在发生错误时执行规则吗?

转载 作者:行者123 更新时间:2023-12-02 15:36:47 25 4
gpt4 key购买 nike

这与 Can a Makefile execute code ONLY when an error has occurred? 略有不同.

我希望在发生错误时制定一个规则或特殊目标(独立于给定的目标;无需更改每个目标的规则,因为其他答案似乎暗示 || 运算符)。

dmake有一个特殊目标 .ERROR在检测到错误情况时执行。 GNU make 有类似的东西吗?

(我仍在使用 GNU make 3.81,但我在新的 GNU make 4.0 的文档中也没有找到任何内容)

最佳答案

Gnu 并不明确支持它,但几乎有办法破解任何东西。如果任何 make 失败,则 Make 返回 1。这意味着如果第一次 make 失败,您可以在命令行上使用错误规则重新运行 make:

make || make error_targ

当然,我假设您只想将增加的复杂性放入 makefile 本身中。如果是这种情况,您可以创建一个递归 make 文件:

all: 
$(MAKE) normal_targ || $(MAKE) error_targ

normal_targ:
... normal make rules ...

error_targ:
... other make rules ...

这将导致 makefile 尝试构建 normal_targ,如果失败,它将运行 error_targ。对于没有经验的人来说,这使得阅读 makefile 变得有点困难,但它将所有逻辑放在一个地方。

关于error-handling - GNU make 可以在发生错误时执行规则吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21118020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com