2010-08-13 118 views

回答

123

它们控制make的行为为所述标记命令行:

  • @抑制所执行的命令的正常“回响”。

  • -表示忽略执行的命令的退出状态(通常,非零退出状态会停止构建该部分)。

  • +表示当命令没有正常执行时,'在make -n'(或'make -t'或'make -q')执行此命令。另请参阅GNU Make手册的make§9.3的POSIX规范。

+符号是事实上(非标准化的)由此make -n下执行包含${MAKE}$(MAKE)命令行机构的(POSIX标准化)的概括。

@在GNU进行手动的§5.2讨论; -§5.5描述;以及§5.7.1提到使用的+

29

@防止命令行回显到控制台。您可以在全局使用-s--keep-silent

-告诉make继续前进,即使命令由于某种原因失败。您可以通过-i标志(或--ignore-errors)在全球范围内执行此操作。

+在你问起之前,我并不熟悉。据我所知,它抵消了-n,-t-q的影响,所有这些基本上都说明不会实际运行命令。所以前面的一条+的行会反正运行。

如果您阅读官方Gnu Make手册,他们都在Chapter 5中提及。在我的手册的旧版本中,这是关于“命令”的章节,但术语du jour现在似乎是“食谱”。

相关问题