Отдельное имя файла от его пути - PullRequest
0 голосов
/ 29 января 2012

У меня есть несколько файлов из этого выражения:

ui_files := $(wildcard $(SUBDIRS:%=%/*.ui)).

Теперь мне нужен список с теми же путями к файлам, но с префиксом "ui_" в имени файла и другим расширением (.h). Как я могу это сделать?

1 Ответ

1 голос
/ 29 января 2012

Вы можете перебрать список, используя foreach и преобразовать каждый элемент:

h_files := $(foreach ui,$(ui_files),$(dir $(ui))ui_$(notdir $(ui:.ui=.h)))

Или сначала преобразуйте весь список, а затем используйте join:

h_files := $(join $(dir $(ui_files)),$(patsubst %.ui,ui_%.h,$(notdir $(ui_files))))

Оба решения используют функции dir и notdir.

...