如何并行运行所有Makefile?

问题描述 投票:0回答:1

我正在尝试运行子目录下的所有 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 ..`

但它们不能全部并行运行。

makefile
1个回答
0
投票

在 make 行末尾添加一个 & 符号:

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

unix 中的“&”将命令行作为 shell 作业在后台运行。

© www.soinside.com 2019 - 2024. All rights reserved.