У меня есть следующий фрагмент 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", чистая цель часто выполняется в середине сборки файлов, что приводит к неудачной компиляции. Мой вопрос в том, как убедиться, что чистая цель завершилась перед началом сборки релиза.