Makefile中多行列表中的注释

6
我希望能有类似以下这样的东西:
BROKEN_THINGS = \ 
  thing1 \ # thing1 is completely broken
  thing2 \ # thing2 is broken too, see BUG-123

看起来使用[g]make不可能实现。

我最终使用了warning函数(这可以工作,因为$(warning X)始终返回空字符串):

BROKEN_THINGS = \
  thing1 $(warning "thing1 is completely broken") \
  thing2 $(warning "thing2 is broken too, see BUG-123") \

最后一种方法并不理想,因为警告会使得“make”输出混乱(而且warning是特定于gmake的)。是否有更好的解决方案来记录长的多行事项列表?
1个回答

12

您可以使用:

BROKEN_THINGS =
BROKEN_THINGS += thing1  # thing1 is completely broken
BROKEN_THINGS += thing2  # thing2 is broken too, see BUG-123

不错,这看起来不那么脆弱了! - Boris Berkgaut
你实际上可以跳过第一行,直接从"+="开始。 - Kevin Minehart
1
是的,尽管如果变量具有来自其他位置的值,则第一行将清除它。 - MadScientist
关于 BROKEN_THINGS := thing1 等等 怎么样?啊,看起来我可以在初始 := 后使用 +=。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接