gpt4 book ai didi

c - 传播多个 make 命令

转载 作者:行者123 更新时间:2023-11-30 15:30:07 24 4
gpt4 key购买 nike

我有一个基本上如下所示的 makefile:

testa:
make -C dog/ testa
make -C cat/ testa
testb:
make -C dog/ testb
make -C cat/ testb

有多个文件夹 1...10。当我在顶层运行“make testa”时,它会一一遍历所有子目录,并在下面的所有文件夹上运行命令“make testa”。有没有更好的方法来做到这一点,而不是使用多行相同的 make -Cfolderx/testy
谢谢

最佳答案

您可以使用 target-specific values 将目标名称与子目录解耦。 :

testa: TARG:=testa
testb: TARG:=testb

testa testb:
make -C dog/ $(TARG)
make -C cat/ $(TARG)

然后将工作委托(delegate)给以子目录命名的目标:

testa: TARG:=testa
testb: TARG:=testb

SUBDIRS := dog cat

testa testb: $(SUBDIRS)

.PHONY: $(SUBDIRS)
$(SUBDIRS):
make -C $@ $(TARG)

关于c - 传播多个 make 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25798689/

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