gpt4 book ai didi

c++ - makefile 强制执行库依赖排序

转载 作者:太空宇宙 更新时间:2023-11-04 15:18:22 27 4
gpt4 key购买 nike

<分区>

在构建一个具有递归依赖的库时,我有这个片段:

$(LIBRARY) : $(OBJECTS) | $(LIBDIR) # objects is all the obj/*.o
$(AR) ...

obj/%.o : %.cpp obj/%.d
$(CC) ...

build : $(DEPENDENCIES) $(LIBRARY)

$(DEPENDENCIES):
$(MAKE) -C $(ROOT)/$@

如果我运行 make,这会起作用。一切都按正确的顺序按预期构建。但是,如果我运行 make -jN,库的构建顺序不正确,因为我实际上没有设置任何依赖项排序规则,这会导致大量 undefined reference 。

如果我添加规则:

$(OBJECTS) : $(DEPENDENCIES)

然后每次运行 make 都会重建每个库,无论更改如何(DEPENDENCIES 是假的,但我不明白为什么它实际上会重建所有内容)。我如何才能为了并行构建的目的强制执行正确的顺序,而不必每次都重建所有内容?

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