【发布时间】:2014-05-29 13:37:08
【问题描述】:
假设我有以下文件:
buggy_program:
#!/bin/sh
echo "wops, some bug made me exit with failure"
exit 1
生成文件:
file.gz:
buggy_program | gzip -9 -c >$@
现在,如果我输入make,GNU make 将愉快地构建file.gz,即使buggy_program 以非零状态退出。
在 bash 中,如果管道中的至少一个程序因失败退出,我可以使用 set -o pipefail 使管道退出失败。 GNU make 中是否有类似的方法?或者一些不涉及临时文件的解决方法? (这里gzip的原因正是为了避免一个巨大的临时文件。)
【问题讨论】: