2016-04-19 7 views
2

は、あなたがそうMakefile内で複数の基準を持つファイルをフィルタリングする方法は?

$(wildcard **/*.cpp) 

ようcppファイルをフィルタリング言う貸し付けしかし、あなたは言葉fooを含むファイルを望んでいない、あなたはbar.cpp

がどのように処理を行い、正確な名前のファイルをしたくありません複数の基準を使用してfilter-outを使用しますか?

+0

'**'構文を使用すると、makeの 'wildcard'関数がzshのように再帰的にディレクトリを検索するようになることを指摘したいと思っていました。 – MadScientist

答えて

4

これは動作するようです。再帰的にも。

$(filter-out $(wildcard **/bar.cpp) $(wildcard **/*foo*), $(wildcard **/*.cpp)) 

また、下記の簡単な提案に注意してください。完全性のためだけに私のものを残す。

+2

'bar.cpp'に' $(ワイルドカード) 'を書く必要はありません。'%/ bar.cpp'だけが動くだけです。 –

+0

サブディレクトリにあっても? –

+1

うわー、サブディレクトリでさえ。 '%'は何でも一致します。それを試してみてください。 –

関連する問題