如何在Makefile Recipe中添加真正的注释且不破坏缩进?
在Makefile Recipe/目标中添加真正的Makefile注释(不破坏视觉缩进)
要在Recipe里添加真正被Make识别的注释(而非传给shell处理的注释),同时保持视觉上的缩进对齐,有两种实用方案:
方法一:空格缩进的#注释行
在注释行开头写#,并在#前添加空格(不要用制表符)来对齐Recipe的缩进。Make会直接将其识别为自身的注释,不会传递给shell执行,既无额外开销,又能保持视觉上的缩进一致性。
示例:
build: gcc -o myapp main.c # 这是shell注释,会被传给shell处理 # 这是Make注释,仅被Make识别,视觉上和Recipe对齐 ./myapp
注意:#前用空格而非Recipe要求的制表符,Make不会把这行当作shell命令。
方法二:自定义空宏实现缩进注释
先定义一个空的Make宏,之后在Recipe里用制表符缩进调用它,添加的注释视觉上完全匹配Recipe格式:
COMMENT := deploy: scp myapp user@server:/opt/ $(COMMENT) 这是Make注释,视觉上和Recipe行完全对齐 ssh user@server "systemctl restart myapp"
$(COMMENT)展开后为空,后面的内容会被Make当作注释处理,同时因为用了制表符缩进,视觉上和其他Recipe行一致,不会破坏格式。
内容的提问来源于stack exchange,提问作者blueFast
相关产品推荐
相关产品推荐

