makefile 的错误检查行为

2023-12-22

如果我的程序必须为不同的结果(主要是错误)返回不同的值(例如 0、1、2、3 等),则调用该程序的 makefile 将必须停止执行其余的 makefile 命令。即使该命令产生错误(返回非零值),是否有办法继续执行 makefile?

谢谢你们。


mycommand; test $? -gt 3 

根据需要更改测试。我不认为使用- or -k是个好主意,因为它会停止make从检测错误。

请注意,在 makefile 中,这 2 个命令必须位于同一行。

评论反馈后补充:您还可以执行以下操作,以允许您在对错误做出反应之前无条件运行后续命令:

mycommand; status=$PIPESTATUS; follow-on-command && test $status -gt 3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

makefile 的错误检查行为 的相关文章

  • 我怎样才能强制Make一直执行一个菜谱

    当前的 Makefile 有这样的内容 target1 lib1 a lib2 a target2 lib1 a lib3 a target3 lib3 a lib1 a MAKE C sub dir all 我想更改此 Makefile
  • 如何不在输出中打印 makefile 中的注释

    我有一个像这样的 makefile install somecommand some explanation for next command lastcommand 发生的事情是评论 some explanation for next c
  • 在 docker 镜像 python:3.9.13-alpine3.16 上使用“pip install psutil”错误:找不到 linux/ethtool.h

    我尝试在 docker 中安装 python 模块 psutilpython 3 9 13 alpine3 16但它报告了以下错误 Building wheels for collected packages psutil Building
  • 如何使用批处理脚本调用的curl 获取http post 请求的响应代码?

    我正在努力为从我们的工具之一发送 http post 请求提供支持 该工具基本上通过 http 请求执行作业 实现此目的的方法是该工具使用多个参数调用 RunScript bat 该脚本解析这些参数并在验证后发出curl post 请求 P
  • 将环境变量从 Makefile 导出到用户态环境

    我正在研究如何从 Makefile 环境变量导出以在用户环境中公开 因此应该可以从用户 shell 访问从 Makefile 导出这些变量 我努力了make s export https www gnu org software make
  • 为什么总是./configure;制作;进行安装;作为 3 个单独的步骤?

    每次从源代码编译某些内容时 都会经历相同的 3 个步骤 configure make make install 我明白 将安装过程分为不同的步骤是有意义的 但我不明白 为什么这个星球上的每个编码员都必须一次又一次地编写相同的三个命令才能完成
  • 具有两个同名目标的 Makefile

    我有一个包含包含语句的 makefile 我无法控制包含的 makefile 的内容 不过 我希望能够在 某些 不是全部 目标之前添加一些预处理步骤 考虑以下示例 install echo install target include ot
  • 在 Mac 上更新 Make 版本

    我正在尝试更新 mac 上的 make 版本 但遇到了问题 最小项目依赖项是 4 1 但我的版本似乎是 3 81 我已将 Xcode 更新到最新版本并安装了命令行工具 但它似乎仍然是旧版本 有谁遇到过这个问题或知道解决方法吗 这是我所做的
  • 如何在 makefile 中拥有正确的 .mod 顺序

    我正在尝试用 Fortran 为我的项目创建一个 Makefile 并使其可在现在的项目中重用 我经过多次尝试后得出的 Mkefile 如下 问题是它在少数情况下工作正常 但现在我有这个文件 main f90 初始 f90 参数 f90 函
  • 致命错误:向量:没有这样的文件或目录

    我有一个 Android 项目 其中包含大量 C 本机代码 但是 我无法构建我的库 因为它无法找到 vector h 头文件 可能是什么问题 我在几乎所有页面中包含的示例 include
  • .ko 文件是如何构建的

    我正在尝试将我自己的驱动程序移植到Beagle 板 xm arm cortex A8 在移植时我试图弄清楚如何 ko文件实际构建 在我们的Makefile我们只有一个命令来构建 o file 怎样是一个 ko文件已建立 使用Linux 2
  • 从哪里获取 iostream.h

    我正在尝试在 Linux 中做一些事情 但它抱怨找不到 iostream h 我需要安装什么才能获取此文件 这个标准头的正确名称是iostream没有扩展名 如果您的编译器仍然找不到它 请尝试以下操作 find usr include na
  • make:无需为“all”执行任何操作

    我正在通过一个eg pgm 来创建一个make 文件 http mrbook org tutorials make http mrbook org tutorials make 我的文件夹eg make creation包含以下文件 des
  • 如何从源 bash 脚本返回错误

    我对 bash 脚本相当陌生 我有 4 个嵌套的 bash 脚本 并且我无法正确地从第四个脚本传播错误 例如 script1 sh source script2 sh
  • 如何将当前目录捕获为 make 变量中的绝对路径名?

    我想在 GNUmake 文件运行期间获取当前目录并将其放入 make 变量中 执行此操作的语法是什么 像这样的东西吗 DIR PWD Um no PWD有时是在您的环境中定义的 因此由 make 继承 但通常不是 你需要 CURDIR DI
  • 如何像C99一样使用make和编译?

    我正在尝试使用 Makefile 编译 Linux 内核模块 obj m main o all make C lib modules shell uname r build M PWD modules clean make C lib mo
  • 从 GNU Makefile 调用 `command -v find`

    我使用 shell bash 但我需要可移植性 和 GNU Makefile 我有这个代码 check commands command v find gt dev null command v asdf gt dev null 正如假设的
  • makefile 中的预构建步骤

    如何运行必须在所有其他 makefile 命令之前执行的脚本 如果没有要构建的内容 则不执行脚本会很好 但不是强制性的 我搜索过 SO 和 Google 但找不到任何东西 我有这个解决方法 myscript bat output is em
  • 忽略 C 中的返回值

    最近 我开始使用 lint 进行静态代码分析 我有时收到的警告之一就是关于这个问题 比方说 我有以下功能 uint32 t foo void 假设我故意忽略函数的返回值 为了使警告消失 可以写 void foo 我的问题是 编写这样的代码的
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud

随机推荐

  • 尝试使用投资组合分析进行优化时出错

    我正在尝试从网站复制代码来测试 R 中的投资组合分析库 但是我收到错误 但我不知道原因 我收到的错误是 错误 package ROI in search requireNamespace ROI 悄悄地 TRUE 不是TRUE librar
  • MongoDB 数据库结构和最佳实践帮助

    我正在为我的垃圾收集公司开发路线跟踪 优化软件 并且希望获得有关我当前数据结构 情况的一些反馈 这是我的 MongoDB 结构的简化版本 数据库 data 收藏 顾客 包含所有客户数据的数据收集 cust id 1001 name Cust
  • 如何以编程方式设置 -Dorg.apache.el.parser.COERCE_TO_ZERO=false

    这个问题类似于 jsf 绑定到 UI 中输入文本的整数属性在提交时设置为零 https stackoverflow com questions 4541612 jsf integer property binded to a inputte
  • 使用 gen_tcp 的 Erlang 客户端-服务器示例未收到任何内容

    我试图在客户端接收数据 但没有收到任何数据 发送消息的服务器代码 client Socket Server gt gen tcp send Socket Please enter your name io format Sent confi
  • HTML5 输入类型=数字删除前导零

    在 Chrome 15 中 当使用元素作为文本字段时 即使输入的数字不违反验证规则 例如最小值 最大值 前导零 例如 011 也会被删除 是否有一个属性可以强制零在失去焦点后保留在字段中 其应用是数字数据 例如国际电话前缀
  • 在容器优化操作系统中以 JSON 形式注入日志

    我能够借助 Stackdriver 日志代理从容器优化操作系统将日志以 JSON 形式提取到 Google 日志查看器 它将日志作为值注入到消息中 但在默认配置下不作为 json 负载注入 我已经尝试过什么 我已将 etc stackdri
  • Android OpenGL:可能内存不足?

    几周来我一直在尝试解决这个问题 但我现在不知道该怎么办 我认为某些 Android 设备没有足够的内存来加载大量纹理 尽管这可能是其他原因导致的问题 正如我所说 我真的不知道该怎么办 有 28 个 PNG 正在加载 全部为 1024x102
  • 如何用Python绘制多边形?

    我有以下格式的 x y 坐标输入值 1 1 2 1 2 2 1 2 0 5 1 5 我想画多边形 但不知道怎么画 Thanks Using matplotlib pyplot import matplotlib pyplot as plt
  • 使用 JavaScript 或 jQuery 获取并替换字符串中的最后一个数字

    如果我有字符串 var myStr foo 0 bar 0 我想我们应该有一个名为getAndIncrementLastNumber str 所以如果我这样做 myStr getAndIncrementLastNumber str foo
  • iOS 13 增加了“修剪”功能。从 UIImagePickController 中选择的文件的前缀

    iOS 13 添加了一个trim 从照片中选择文件时的前缀 file private var mobile Containers Data PluginKitPlugin FPDLKFHEQ 4T56 3456 HTE2 39EK2KDJU
  • Java:从控制台读取直到出现空行

    我写了这个方法 永无休止 它没有打印我传递的内容 为什么 import java io BufferedReader import java io InputStreamReader import java util ArrayList c
  • java.util.Properties 编码

    我在两个不同的系统上得到不同的结果 但不知道为什么 Properties prop new Properties prop load new ByteArrayInputStream input input is byte 在两个系统上输入
  • 使用 Jackson 反序列化 Scala 列表

    我有一个返回的案例类看起来像这样 case class Response JsonDeserialize contentAs classOf java lang Long longList List Long null 我有一个客户 Obj
  • 使用 ODP.NET 从 PL/SQL 函数获取 RECORD,无需接触 PL/SQL 代码

    标题非常不言自明 从 C 应用程序 使用 ODP NET 我尝试调用一个 PL SQL 函数 该函数返回的不是一个简单的值 而是一条记录 不幸的是 我无权添加或更改 PL SQL 代码 因此尝试将函数包装在另一个返回不同类型的函数中对我来说
  • 十进制浮点数与二进制的相互转换

    简而言之 我的问题是 为什么浮点数中的舍入误差仅在计算后出现 而不是在存储文字时出现 我的意思是这样的 我知道在十进制与二进制相互转换时由于浮点数的舍入误差而出现的问题 例如 在 Java 中 double a 10 567 double
  • 相当于 C# 中 string.Format 的 CLR 函数

    我正在寻找一个 CLR 函数 它可以执行与 C 中的 String Format 相同的操作 作为示例 我想通过 CLR 函数执行以下操作 String Format My name is 0 and I live in 1 myName
  • 如何防止 org-mode 执行所有 babel 源代码块?

    我有一个 org 文件 里面有很多 babel 源代码块 只需要在代码更改时重新执行 如何防止 org 在导出期间执行所有块 换句话说 将它们全部设置为仅手动执行 我更喜欢单个全局选项 而不必单独编辑每个块 变量org export bab
  • C++ 异常二进制兼容性

    我的项目使用 2 个不同的 C 编译器 g 和 nvcc cuda 编译器 我注意到 g 对象文件中没有捕获从 nvcc 对象文件抛出的异常 C 异常应该在同一台机器上二进制兼容吗 什么会导致这种行为 try kernel new cuda
  • SQL 更新后,wso2 数据服务能否返回受影响的行?

    我已经使用 WSO2 数据服务连接到数据库一段时间了 一切都很完美 只是在 SQL 更新脚本之后我仍然无法获取受影响的行 我已经按照向导一遍又一遍地尝试 但没有找到解决方案 有谁知道如何获得吗 感谢您的提前回复 恐怕没有办法直接获取更新的行
  • makefile 的错误检查行为

    如果我的程序必须为不同的结果 主要是错误 返回不同的值 例如 0 1 2 3 等 则调用该程序的 makefile 将必须停止执行其余的 makefile 命令 即使该命令产生错误 返回非零值 是否有办法继续执行 makefile 谢谢你们