(4)Makefile:遍历子目录的makefile,单线程依次执行make

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 进程

猜你喜欢

转载自blog.csdn.net/weixin_45981798/article/details/132009473