如何在makefile中添加多行注释

时间:2010-12-20 19:48:08

标签: makefile

有没有办法在make文件中注释多行,就像在C语法/* */中一样?

6 个答案:

答案 0 :(得分:134)

不,在makefile中没有类似C风格的/* */注释。正如其他人建议的那样,您可以使用行连续进行多行注释。例如:

# This is the first line of a comment \
and this is still part of the comment \
as is this, since I keep ending each line \
with a backslash character

但是,我想你可能会因为调试原因暂时注释掉你的一大块makefile,并且在每一行上添加一个反斜杠并不实际。如果您使用的是GNU make,我建议您使用ifeq指令,故意使用伪表达式。例如:

ifeq ("x","y")
# here's all your 'commented' makefile content...
endif

希望有所帮助。

答案 1 :(得分:12)

我相信答案是否定的。我能找到的唯一一个评论样式是每行的#,或者使用\来包装第一行。

答案 2 :(得分:7)

关于在make(1)中使用ifeq进行多行注释的想法的说明。如果你写下以下内容,他们就不会很好地工作:

ifeq (0,1)
    do not risk ifeq comments
    else trouble will find you
    ifeq is even worse
endif

ifeq和endif之间的文本仍将由make解析,这意味着您无法在该部分中编写任何内容。如果你想写一个很长的评论并在评论中写下你想要的任何内容(包括$ sign,冒号等等,这些都对make有意义),那么你必须评论每一行。那么为什么ifeq ......:)

答案 3 :(得分:4)

define BOGUS
lines
.....
endef

答案 4 :(得分:0)

在emacs中,您可以标记要注释的区域,然后点击M-;(运行comment-dwim)。

答案 5 :(得分:0)

不完全是你想要的,但在精神上是相似的。我不认为这是接受的答案,但也许它可以帮助别人。

假设您正在VIM中编辑makefile:
确定要评论的行或使用“v”选择它们。

然后你可以使用正则表达式s/^/#/来注释掉行 并s/^#//还原它们。

<强> - 注 -

  • 要打开vim命令行,请按:(冒号)
  • 要准备下一行'n'行的命令,请使用.,+n
  • 使用“v”的示例行如下所示:'<,'>s/^/#/