2016-05-19 7 views
1

完全な単語の場合にのみ部分文字列を検索する方法が必要です。二つの例、
$(findwstring a, a b c)
$(findwstring a, angle b c)
はそれぞれ、値「A」と「」(空の文字列)を生成する必要があること Makefile文字列内の単語全体を検索するには?

は、理想的には私が欲しい機能(たとえば findwstring())など。

hereが見つかりませんでした。

答えて

2
$(filter a, a b c) 

生成物'a'

$(filter a, angle b c) 

プロデュース''です。

検索文字列のパーセント(%)はワイルドカード文字と見なされます。あなたがリンクされ、ドキュメント(右findstring以下、実際に機能)から

太字鉱山:

$(filter pattern…,text) 

返しのいずれかを試合を行うことを、テキスト内のすべての空白で区切られた単語パターン単語、がない単語を削除すると、と一致します。パターンは、上記のpatsubst関数で使用されているパターンと同様に、 '%'を使って書かれています。

filter関数を使用すると、変数内のさまざまなタイプの文字列(ファイル名など)を区切ることができます。たとえば:

sources := foo.c bar.c baz.s ugh.h 
foo: $(sources) 
     cc $(filter %.c %.s,$(sources)) -o foo 

foofoo.cbar.cbaz.sugh.hの依存だけfoo.cbar.cbaz.sコンパイラにコマンドで指定されるべきであると述べています。

関連する問題