我正在尝试运行子目录下的所有 Makefile。
但问题是我无法并行运行所有 Makefile。
如何同时并行运行 Makefile?
我遇到了如下的代码片段
`SUBDIRS := $(wildcard */.)
all: $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@
.PHONY: all $(SUBDIRS)`
或
`all:
cd library && $(MAKE) all && cd ..
cd programs && $(MAKE) all && cd ..
cd tests && $(MAKE) all && cd ..`
但它们不能全部并行运行。
在 make 行末尾添加一个 & 符号:
all: $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@ &
unix 中的“&”将命令行作为 shell 作业在后台运行。