有没有办法在make文件中注释多行,就像在C语法/* */
中一样?
答案 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/^#//
还原它们。
<强> - 注 - 强>
:
(冒号).,+n
'<,'>s/^/#/