Я ищу элегантный способ распараллеливания заданий в GNU make. Вот пример того, что я сделал до сих пор. Создавайте процессы каталогов dir-1, dir-2 и dir-3 серийным образом, что логично, но не мое намерение:
SUBDIRS=dir-1 dir-2 dir-3
default: all
all:
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done
.PHONY: clean
clean:
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) clean); done
Есть ли способ поддержать параллельную обработку этих каталогов с помощью опции -j, не указав конкретные цели для каждого каталога?