1、遍历子目录的makefile,单线程依次执行make
SUBDIRS := dir1 dir2 dir3
.PHONY: all
all:
for dir in $(SUBDIRS); do \
$(MAKE) -C $$dir -j1 all || exit $$?; \
done
for dir in $(SUBDIRS); do \ ... ; done
:使用循环结构遍历SUBDIRS
中的每个子目录,并执行其中的 Makefile。$(MAKE) -C $$dir -j1 all || exit $$?;
- 在每个子目录中执行
make -j1 all
命令。-C $$dir
用于切换到相应的子目录,-j1
选项指示 Make 使用单线程执行,确保依次执行子目录的构建任务。|| exit $$?
是一个错误检测机制,如果子目录中的构建失败,则退出整个 Make 进程