gpt4 book ai didi

makefile - GNU make 中递归作业的并行化

转载 作者:行者123 更新时间:2023-12-02 16:42:12 25 4
gpt4 key购买 nike

我正在寻找一种优雅的方式来并行化 GNU make 中的作业。这是我迄今为止所做的示例。 Make 以串行方式处理目录 dir-1、dir-2 和 dir-3,这是合乎逻辑的,但不是我的意图:

SUBDIRS=dir-1 dir-2 dir-3

default: all

all:
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done

.PHONY: clean

clean:
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) clean); done

有没有办法使用“-j”选项支持这些目录的并行处理,而无需为每个目录指定特定目标?

最佳答案

SUBDIRS = a b c

default: all

$(SUBDIRS)::
$(MAKE) -C $@ $(MAKECMDGOALS)

all clean : $(SUBDIRS)

关于makefile - GNU make 中递归作业的并行化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com