2

ファイルを検索するためにワイルドカードで使用するパターンがあります。パターンは、構成可能であることが意図されているため、変数で指定されます(含まれているmakefileにあります)。次に、patsubstで同じパターンを使用する必要があります。に切り替える簡単な方法はあり*ます%か?*明らかに、ワイルドカードパターンには1つしか存在できませんでした。

たとえば、ワイルドカードパターンが次の場合、 *.cパターンを取得したいと思います。%.c

これは、次のワイルドカードパターンでも機能する必要があります。

WILD := *.c *.s *.S
WILD := prefix_*.suffix

私は、拡張機能を使用している最初のケースの解決策を持っていました。それは、patsubst自体を使用することです。

PATSUBST_PATTERN := $(patsubst *.%,\%.%,$(WILD))

*ワイルドカードパターンの先頭にない場合にこれを行う方法を誰かが提案できますか?

4

1 に答える 1

1

どうですか

WILD := *.c *.s *.S prefix_*.suffix
PATSUBST_PATTERN := $(subst *,%,$(WILD))
$(info $(PATSUBST_PATTERN))

出力:

%.c %.s %.S prefix_%.suffix
于 2012-09-20T16:58:58.727 に答える