Makefile 为什么Make-remove换行符中的'shell'命令?

Makefile 为什么Make-remove换行符中的'shell'命令?,makefile,Makefile,根据此处的Make文档: 在将结果替换为周围文本之前,make对结果的唯一处理是将每个换行符或回车符/换行符对转换为单个空格。如果是结果中的最后一项,它还会删除尾部(回车和换行符) 为什么Make要进行这种处理 如果没有递归通配符命令,能够从find返回带分隔符的列表肯定会很好。使用变量时,会替换变量的值。 (如C中的“定义”) 新行将对make的解析能力造成严重破坏 变量中可以有新行,但: 我想这只是因为“没有新词”是使用最多的情况。在make尝试替换这些新行之前,您可能可以使用其他shel

根据此处的Make文档:

在将结果替换为周围文本之前,make对结果的唯一处理是将每个换行符或回车符/换行符对转换为单个空格。如果是结果中的最后一项,它还会删除尾部(回车和换行符)

为什么Make要进行这种处理


如果没有递归通配符命令,能够从
find
返回带分隔符的列表肯定会很好。

使用变量时,会替换变量的值。 (如C中的“定义”)

新行将对make的解析能力造成严重破坏

变量中可以有新行,但:

我想这只是因为“没有新词”是使用最多的情况。在make尝试替换这些新行之前,您可能可以使用其他shell命令来替换这些新行