用于构建的递归 Makefile

Recursive Makefile for make build

我想构建一个非常大的项目,只有一个 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/

Run make in each subdirectory

寻求帮助,但问题是我想 "make build" 然后 "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 $@

将每个子make中要制作的目标传递给子make命令, 按照你想要的顺序,例如

SUBDIRS = a b c

.PHONY: subdirs $(SUBDIRS)

subdirs: $(SUBDIRS)

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