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))