如何在makefile中添加多行注释

有没有一种方法来注释在makefile中的多行,如在C语法/* */

不,在makefile中没有任何东西像C风格/* */注释。 正如其他人所build议的那样,您可以使用续行来进行多行注释。 例如:

 # 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 

不过,我想你可能会打算为了debugging的原因暂时注释掉你的makefile文件,并且在每一行添加一个反斜杠并不实际。 如果您使用的是GNU make,我build议您使用ifeq伪指令来刻意地expression错误。 例如:

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

希望有所帮助。

我相信答案是否定的。 我可以find唯一的注释样式是#为每行,或使用\来包装第一行。

 define BOGUS lines ..... endef 

关于在make(1)中使用ifeq进行多行注释的想法。 如果你写下下面的话,他们工作得不好。

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

ifeq和endif之间的文本仍然会被makeparsing,这意味着你不能在那一段写任何你想要的东西。 如果你想写一个长的评论,并在评论中写任何你想要的东西(包括$符号,冒号和更多,这些都是有意义的),那么你必须评论每一行。 那么为什么ifeq … 🙂

在emacs中,你可以标记你想注释掉的区域并点击M-; (运行comment-dwim )。

不完全是你在找什么,但在精神上是相似的。 我不指望它是被接受的答案,但也许它可以帮助某人。

假设你正在编辑VIM中的makefile:
要么决定你要评论哪一行,要么用'v'来select它们。

然后你可以使用正则expression式s/^/#/来注释掉这些行
s/^#//来恢复它们。

– 笔记 –

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