答案 0 :(得分:192)
它们控制标记命令行的make行为:
@
会抑制执行命令的正常“回显”。
-
表示忽略已执行命令的退出状态(通常,非零退出状态将停止该部分构建)。
+
表示在正常执行命令时,在make -n
'(或'make -t'或'make -q')下执行此命令。另请参阅GNU Make手册的make
和§9.3的POSIX规范。
+
表示法是事实上(非标准化)机制的(POSIX标准化)概括,其中包含${MAKE}
或{{1}的命令行}在$(MAKE)
下执行。
答案 1 :(得分:36)
@
阻止命令行回显到控制台。您可以使用-s
或--keep-silent
-
告诉make继续前进,即使命令由于某种原因失败。您可以通过-i
标记(或--ignore-errors
)全局执行此操作。
+
在你问之前我并不熟悉。尽管我可以告诉它,它否定了-n
,-t
和-q
的影响,所有这些都基本上告诉make不实际运行命令。因此,前面有+
的行无论如何都会运行。
如果您阅读官方Gnu Make手册,则会在Chapter 5中提及它们。在我手册的旧版本中,这是关于“命令”的章节,但是现在,术语du jour似乎是“食谱”。