Рекурсивный Makefile для сборки сборки - PullRequest
0 голосов
/ 25 сентября 2018

Я хочу построить очень большой проект с одним Makefile, вызывающим несколько Makefile.

Основной Make находится в корневом каталоге, и каждая часть моего проекта имеет свой собственный Makefile.

Вот что я сделал:

SUBDIRS = dir/dir_1/dir_11 dir/dir2/dir22 dir/dir3/dir33

.PHONY: subdirs $(SUBDIRS)

subdirs: $(SUBDIRS)

$(SUBDIRS):
        $(MAKE) -C $@

Я прочитал:

http://lackof.org/taggart/hacking/make-example/

и

Запустите make в каждом подкаталоге

, чтобы найти помощь, но дело в том, что я хочу «сделать сборку», а затем «сделать lambda_update» для каждого директора.

Я пытался:

SUBDIRS = dir/dir_1/dir_11 dir/dir2/dir22 dir/dir3/dir33

.PHONY: subdirs $(SUBDIRS)

subdirs: $(SUBDIRS)

make:   make build; make lambda_update

$(SUBDIRS):
        $(MAKE) -C $@

1 Ответ

0 голосов
/ 25 сентября 2018

Передайте цели, которые вы хотите сделать в каждой подгруппе, в команду подзадачи в том порядке, в котором вы хотите их создать, например,

SUBDIRS = a b c

.PHONY: subdirs $(SUBDIRS)

subdirs: $(SUBDIRS)

$(SUBDIRS):
    $(MAKE) -C $@ build lambda_update
...