获取make makefile警告输出以包括打印换行符

时间:2014-04-28 21:47:19

标签: makefile gnu-make

如何使用返回的shell数据打印出换行符?我通过修改makefile来学习make。将换行符作为换行符出来会很好。

# simple trial makefile
$(warning Making where CURDIR is $(CURDIR))
$(warning  $(shell ls -l $(CURDIR)))

我在这里看到了一个暗示。 How to synthesize line breaks in GNU Make warnings or errors?

GNU Make 3.82

罗伯特

1 个答案:

答案 0 :(得分:2)

你不能这样做。 shell documentation明确表示所有换行都将转换为空格。你无法避免这种情况。

您可以运行命令并将输出重定向到stderr而不是stdout,这样它就不会被$(shell ...)函数捕获:

$(warning Making where CURDIR is $(CURDIR))
$(shell ls -l $(CURDIR) 1>&2)