実装する必要がある次のシナリオがあります。特定のディレクトリからすべてのソース ファイルを抽出する必要があります。したがって、特定のものを除外し、残りをコンパイルします。私はこのケースを次のように実装しています。
SOURCES = $(wildcard $(ROOT_DIR)/SRC/*.c)
FILTERED_SOURCES= $(filter-out $(ROOT_DIR)/SRC/File1.c, $(SOURCES))
ここで直面している問題は、File1.c が除外されていないことです。考えられる理由は、filter-out 関数で使用されるパターンが、スラッシュとドットを含む長いパス名であると予測しています。ここでの質問は
- パス全体ではなくファイル名だけを「SOURCES」に保存することは可能ですか
- filter-out コマンドで、記載されている以外に疑わしいものはありますか。