gpt4 book ai didi

c - 编译一个模块与所有模块的 Makefile 条件

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

对于下面的 makefile,我运行“make args=abc”来编译 abc。我如何更改条件以作为“make abc”运行 abc 编译并为所有内容运行“make all”?谢谢!

modules = \
abc \
bfg \
cyz

MISC = clean all

all: build

ifdef args
SUBDIRS="$$args"
else
SUBDIRS=$(modules)
endif

build:
for dir in $(SUBDIRS); do \
$(MAKE) -C $$dir all; \
done

最佳答案

不要为此使用 all 目标。

为每个模块使用单独的目标。

因此,make abcmake cbamake all 取决于您需要做什么。

你想要这样的东西:

modules = \
abc \
bfg \
cyz

.PHONY: all $(modules)

all: $(modules)

$(modules):
$(MAKE) -C '$@'

关于c - 编译一个模块与所有模块的 Makefile 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24917664/

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