如何使Makefile中的错误静音?

How do I silence an error in a makefile?

本问题已经有最佳答案,请猛点这里访问。

我想在makefile中运行diff并捕获输出,

1
2
test:
     diff a b > tmp

但是diff如果发现任何差异,则返回非零。

Make将非零返回码解释为错误,即使我使用-diff忽略错误,它仍会显示警告。

1
2
makefile:7: recipe for target 'test' failed
make: [test] Error 1 (ignored)

我可以关闭它吗?


即使diff命令没有,您也需要确保配方返回0(成功)。类似于:

1
2
test:
        diff a b > tmp || true