对于我的项目,我会自动生成makefile并包含它们,如下所示:
all: @echo 'SUCCESS is $(SUCCESS)' clean: rm depend.mk depend.mk: @echo 'Creating $@' @echo 'SUCCESS := 1' > $@ .PHONY: all clean include depend.mk
这有效,但include行会生成一条警告消息:
$ make Makefile:13: depend.mk: No such file or directory Creating depend.mk SUCCESS is 1
我想沉默第一条警告线说依赖.mk不存在.我知道它不存在,因为我有一个规则来生成它,所以警告是不必要的(除非当然没有规则).我不希望make忽略包含文件不存在的错误,并且没有规则,因此前缀include
a -
忽略错误对我不起作用.我想要类似于bash将stderr管道到/ dev/null的惯例,some_cmd 2>/dev/null
但是要包含在make中.
上面的示例是此案例的一个非常简单的示例.在我的实际项目中,包含了很多自动生成的makefile(通过clang的自动依赖关系生成),这意味着新的运行make
会使我的屏幕充满这些警告消息.
这样的事情是否可能,或者我只是要处理烦人的警告信息?