GNU Make 4.0 --output-sync=target 不显示最终错误

GNU Make 4.0 --output-sync=target doesn't show the final error

我正在通过使用 -j24 并行执行一堆目标来将构建系统调整到 运行 更快。因为我希望输出具有一定的可读性,所以我使用 --output-sync=target。当没有错误并且完全按照我的预期执行时,这非常有效。我发现当出现错误时,Make 不会像正常情况下那样输出它 运行ning 事情顺序。这是一个大问题,因为构建是在 Jenkins 中进行的 运行,如果有任何失败,不同的人将需要查看。

我能找到的关于这个问题的唯一其他讨论是这个 How to use synchronization in makefile?,它似乎没有任何 comments/answers。有谁知道这个问题是否有解决方案?

FWIW 这是并行构建 运行 时命令的样子:make --output-sync=target -j$(nproc)

这最终成为 Make https://savannah.gnu.org/bugs/index.php?47365

中的一个实际错误

正如 MadScientist 在他的评论中指出的那样,它已在此处修复http://git.savannah.gnu.org/cgit/make.git/commit/?id=14b2d7effb0afd75dfd1ed2534e331784f7d2977