MakefileでHeredocを使用してください。可能ですか?

MakefileでHeredocを使用してください。可能ですか?

私が使用する基本的なステップMakefileは、他のオプションのヘルプドキュメントを印刷することです。EOF複数のセクションの代わりにセクションを1つだけ追加できれば幸いですecho。 bashスクリプトのように使用できますかEOFMakefile

ベストアンサー1

GNU makeを使用している場合は、次のdefine構文を使用できます。複数行変数:

define message =
You can also include make macros like
    $$@ = $@
in a multi-line variable
endef

help:; @ $(info $(message)) :

遊びながらvalue関数和export.ONESHELLディレクティブを使用すると、Makefileにスクリプト全体を含めることもできます。これにより、グローバルに開かずに複数行のコマンドを使用できます。

define _script
echo SHELL is $SHELL, PID is $$
cat <<'EOF'
literally $SHELL and $$
EOF
endef
export script = $(value _script)

run:; @ eval "$$script"

減らす

SHELL is /bin/sh, PID is 12434
literally $SHELL and $$

おすすめ記事