发生错误时,GNU可以执行规则吗?

 陈氏女子2602926065 发布于 2023-02-02 20:53

这与Make a Makefile仅在发生错误时执行代码略有不同?.

我想要在发生错误时制定规则或特殊目标(独立于给定目标;不更改每个目标的规则,因为另一个答案似乎暗示了||运算符).

在dmake的有特殊目标 .ERROR每当检测到错误条件时执行.GNU make有类似的东西吗?

(我还在使用GNU make 3.81,但我在新的GNU make 4.0的文档中找不到任何内容)

1 个回答
  • Gnu没有明确地支持它,但是有几种方法可以破解任何东西.如果任何一个失败,则返回1.这意味着,如果第一个make失败,您可以在命令行上重新运行make with error rule:

    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变得有点困难,但它将所有逻辑放在一个地方.

    2023-02-02 20:57 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有