Подтвердить что ты не робот

Makefile: Отфильтровать строки, содержащие символ

Я пытаюсь отфильтровать строки, содержащие определенный символ, но он не работает. Я думаю, make не поддерживает несколько шаблонов %?

.PHONY: test
test:
    echo $(filter-out %g%, seven eight nine ten)

дает:

$ make test
echo seven eight nine ten
seven eight nine ten

Он не отфильтровывает "восемь"? Фактически то, что я хочу сделать, это отфильтровать из списка имен файлов, содержащих "$". (В контексте Java.)

Любая надежда, или мне нужно использовать $(shell)?

Спасибо.

4b9b3361

Ответ 1

Соответствует ли следующая функция?

FILTER_OUT = $(foreach v,$(2),$(if $(findstring $(1),$(v)),,$(v)))
$(call FILTER_OUT,g, seven eight nine ten)

Ответ 2

Недавно я сделал что-то подобное, используя две функции wildcards для исключения некоторых файлов

.PHONY: test
test:
    echo $(filter-out $(wildcard *g*.c),$(wildcard *.c))