2012-01-28 6 views
0

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

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

Теперь мне нужен список тех же путей к файлам, но с «ui_» префиксом в имени файла и другой внутренний абонент (.час). Как я могу это сделать?

ответ

1

Вы можете перемещаться по списку, используя 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 and notdir функции.

+0

Что такое ui в вашем antswer? – itun

+0

@itun это просто имя переменной итерации (см. 'Foreach' docs), вы можете дать ему другое имя. –

Смежные вопросы