Paralleles Makefile erfordert Abhängigkeitsreihenfolge

Habe ich das folgende Stück 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 

Nun, wenn ich versuche zu aufrufen von "make-j4-release" das clean-Ziel wird oft ausführen, in der Mitte des Gebäudes Dateien, die bewirkt, dass die Kompilierung fehlschlägt. Meine Frage ist, wie um sicherzustellen, dass das clean-Ziel abgeschlossen hat, bevor der release-build.

InformationsquelleAutor der Frage kyku | 2011-12-13

Schreibe einen Kommentar