14

使用 GNU Make 的内置$(error text)$(warning text)功能时,如何在没有杂技的情况下在错误/警告输出中换行?

我所说的杂技是指诸如以下两种有趣的方法:

$(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 ...)
4

1 回答 1

27

使用define/endef定义一个换行变量并将其用作$n,如下所示:

define n


endef

$(warning "something$nfoo$nbar$nbaz")

注意define和endef之间的两个空行

于 2013-06-12T00:16:53.513 回答