如何使Makefile中的错误静音?

Joh*_*den 4 makefile

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

test:
     diff a b > tmp
Run Code Online (Sandbox Code Playgroud)

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

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

makefile:7: recipe for target 'test' failed
make: [test] Error 1 (ignored)
Run Code Online (Sandbox Code Playgroud)

我可以闭嘴吗?

Mad*_*ist 5

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

test:
        diff a b > tmp || true
Run Code Online (Sandbox Code Playgroud)