#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, и все выглядело великолепно.