0

メイクファイルで:

a = d:\wuyu

私の目的は、前の部分を取得することです:。つまり、例では「d」です。

使用してもうまくいきb = $(patsubst :%,,$(a))ませんでした。変数「b」は変数「a」と同じです。使用する

c = `echo $(a)|sed -e 's/:.*//'`

働きました。しかし、別の問題が発生しました: sed コマンドに*** multiple target patterns. Stop.あるため、make を実行するときです。:sed に追加\しても機能しませんでした。

したがって、どうすれば問題を解決できますか?

4

1 に答える 1

2

:%あなたのパターンはコロンで始まる文字列にのみ一致するため、patsubst は機能しません。文字列がコロンで始まらないため一致しないため、置換は実行されません。

これを行うには、文字列を複数の単語に分割します。

b = $(firstword $(subst :, ,$(a)))
于 2013-08-16T14:31:08.777 に答える