使用b uilt-in $(error text)
and $(warning text)
functions of GNU Make时,如何在没有杂技的情况下将换行符放入错误/警告输出中?
杂技是指有趣的方法,比如这两个:
$(warning $(shell /bin/echo -e "something\nfoo\nbar\nbaz"))
$(warning $(shell /bin/bash -c 'echo -e "something\nfoo\nbar\nbaz"'))
哪个,顺便说一句,在Ubuntu 10.04上使用GNU Make 3.81对我不起作用。
原理:我想让ifeq
的条件部分(ifneq
,GNUmakefile
)的错误输出更具可读性。
目前我的解决方法是使用每一行:
$(warning ...)
最后到最后一行:
$(error ...)
答案 0 :(得分:18)
使用define / endef定义换行符变量并将其用作$ n,如下所示:
define n
endef
$(warning "something$nfoo$nbar$nbaz")
请注意define和endef之间的两个空行