gpt4 book ai didi

makefile - 并行生成文件需要依赖项排序

转载 作者:行者123 更新时间:2023-12-03 10:54:22 29 4
gpt4 key购买 nike

我有以下一段makefile:

CXXFLAGS = -std=c++0x -Wall
SRCS = test1.cpp test2.cpp
OBJDIR = object
OBJS = $(SRCS:%.cpp=$(OBJDIR)/%.o)

all: test1
release: clean test1

test1: $(OBJS)
$(CXX) -o $@ $(OBJS)

$(OBJDIR)/%.o: %.cpp
$(CXX) $(CXXFLAGS) -MD -c -o $@ $<

-include $(SRCS:.cpp=.d)

clean:
rm -rf $(OBJDIR)/*

.PHONY: all clean release

现在,如果我尝试调用“make -j4 release”,clean 目标通常会在构建文件的中间执行,这会导致编译失败。我的问题是如何确保在开始发布构建之前已完成清理目标。

最佳答案

我的偏好是

release:
$(MAKE) clean
$(MAKE) test1

这迫使两个目标被连续制作,而不会干扰它们的内部平行性(如果有的话)。

关于makefile - 并行生成文件需要依赖项排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8496135/

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