2016-03-29 6 views
0

Ich verwende automatische Variablen mit statischen Muster Regeln in einem Makefile, aber ich habe ein Problem mit Dateinamen in Klammern. Die Klammern sind nicht richtig für den Shell entkommen, und ich bekomme einen Syntaxfehler aus der Shell:Makefile automatische Variablen nicht Zeichen in Dateinamen

/bin/sh: -c: line 0: syntax error near unexpected token `(' 

Gibt es eine Möglichkeit make automatisch zu bekommen „schlechte“ Zeichen in Dateinamen zu entkommen? Ich habe versucht, Klammern zu verwenden, wie $(<) und $(@), aber es scheint keinen Unterschied zu machen.

Antwort

1

Können Sie die automatischen Variablen einfach in Anführungszeichen setzen, wenn Sie sie an die Shell übergeben? Versuchen Sie statt $< also '$<'. Wenn Sie dies mit etwas tun müssen, das mehr als einem einzigen Dateinamen entspricht, z. $+ dann könnten Sie $(patsubst %,'%',$+)

verwenden