Как создать повторяющиеся рецепты make

#makefile #build-dependencies

#makefile #сборка-зависимости

Вопрос:

В моем makefile есть строка зависимостей. Я хотел бы создать рецепт для сборки каждого из них. «Для каждого», очевидно, не работает в Gnu Make. Есть ли другой вариант для достижения этого?

 DEPENDENCIES = dep1 dep2 dep3 ...

for each DEP in $(DEPENDENCIES)

$(DEP) : 
    $(MAKE) -C ext/$@
  

Ответ №1:

Обычно вы не выполняете итерацию в make, вы указываете цепочку зависимостей и позволяете make обрабатывать ее за вас.

 DEPENDENCIES = dep1 dep2 dep3

.PHONY: all $(DEPENDENCIES)

all: $(DEPENDENCIES)

$(DEPENDENCIES): 
    $(MAKE) -C ext/$@
  

Комментарии:

1. DEPENDENCIES = dep1 dep2 dep3 .PHONY: all $(DEPENDENCIES) all: $(DEPENDENCIES) $(DEPENDENCIES): echo $@ создает: $make all dep1 dep2

2. @Stewbond Извините, я понятия не имею, что означает ваш комментарий.

3. Все еще привыкаю к этому сайту. Не удалось написать новые строки в комментариях, но я протестировал ваш код, заменил $ (MAKE) на echo, и все выглядело великолепно.