How do I silence an error in a makefile?
我想在makefile中运行diff并捕获输出,
但是diff如果发现任何差异,则返回非零。
Make将非零返回码解释为错误,即使我使用-diff忽略错误,它仍会显示警告。
1 2
| makefile:7: recipe for target 'test' failed
make: [test] Error 1 (ignored) |
我可以关闭它吗?
- 在要忽略的命令前放置一个"-"。将diff a b > tmp更改为-diff a b > tmp。 gnu.org/software/make/manual/make.html#Errors
即使diff命令没有,您也需要确保配方返回0(成功)。类似于:
1 2
| test:
diff a b > tmp || true |