根据此处的Make文档:http://www.ecoop.net/coop/translated/GNUMake3.77/make_8.html#SEC80
在将结果替换为周围文本之前,对结果进行的唯一处理是将每个换行符或回车符/换行符对转换为单个空格。它还会删除尾随(回车和换行)换行符,如果它是结果中的最后一行。
为什么Make会完成这个处理?
如果没有递归通配符命令,能够从find
返回分隔列表肯定会很好。
答案 0 :(得分:2)
使用变量时,变量的值将被替换。 Make docs(例如"定义"在C中)。
新行会对make的解析能力造成严重破坏。
虽然可以在变量中添加新行: Another question
我想它只是因为"没有新线"是最常用的情况。在尝试替换它们之前,您可以使用其他shell命令将这些新行替换为其他内容。