默认情况下是否可以从Makefile
内部抑制命令回显?
我知道以make
模式运行--silent
会做到这一点,每个命令都以@
前缀。
我正在寻找一个命令或节,我可以在Makefile的中包含,从而省去了用@
乱扔一切或让用户手动使一切静音的麻烦。
最佳答案
如果定义目标.SILENT:
,那么make将不会回显任何内容。通常最好保护定义,因此您可以轻松地将其关闭:
ifndef VERBOSE
.SILENT:
endif
现在默认情况下,make将不打印任何内容,但是如果您运行
make VERBOSE=1
,它将进行打印。请注意,尽管手册中的声明声称
.SILENT
已过时-如果得到适当保护,它通常比@
好得多(更有用,更灵活)。.SILENT
目标不应是Makefile
上的第一个,否则make
将默认使用它。