makefile変数から末尾のスペースを削除する方法は?

makefile変数から末尾のスペースを削除する方法は?

Makefileでは、変数の値をバインドするために引用符は必要ありません。

たとえば、次のように許可されます。

a := ls -l -a > out.txt

私の質問は次のとおりです。

a := ls -l -a > out
b := .txt
c := $(a)$(b)

変数$(a)行の末尾にスペースがある場合、変数$(c)は次のようになります。

ls -l -a > out .txt 

その後にスペースがありますout

これによりエラーが発生する可能性があります。

すべてのmakefile変数の値で末尾のスペースを完全に無視する方法はありますか?

ベストアンサー1

いいえ、makeが変数定義を解析する方法を変更する方法はありません。変数が定義されたポイントを変更できない場合は、その変数が使用されるポイントを変更する必要があります。

GNU makeを使用していて、変数の値の中にスペースを入れないでください。strip機能

c := $(strip $(a))$(strip $(b))

おすすめ記事