やろうとしている:
help:
@echo "you must $(call red_text,clean)"
ここで red_text は次のように定義されます
red_text = $(shell tput setaf 1; echo -n "$1"; tput sgr0)
これにより、「きれいにする必要があります」と表示され、「きれい」という単語が赤で印刷されます。
問題は、make の出力が (less などに) パイプされる場合です。この場合、色を使用するのではなく、$1 を印刷する必要があります。
red_text
ケースを処理するために更新する必要があります。そのために、次のようなものを使用できると思い$(shell [ -t 1 ] ..)
ましたが、問題は、の標準出力$(shell)
が決して端末ではないことです。
stdoutが端末でないred
場合の処理を変更するにはどうすればよいですか?