14

GNU Make の組み込み関数と関数を使用$(error text)する$(warning text)場合、アクロバットなしでエラー/警告出力に改行を挿入するにはどうすればよいですか?

アクロバットとは、次の 2 つのような面白い方法を意味します。

$(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 の間の 2 つの空白行に注意してください

于 2013-06-12T00:16:53.513 に答える