Bei etwas umfangreicheren Projekten habe ich immer wieder mal Probleme. Die zeigen sich durch unerklärliche Programmabstürze, denen auch mit einem Debugger nicht auf die Spur zu kommen ist. Wenn ich dann ein:
rm *.o make
mache, sind die Probleme weg. Als Ursache habe ich die Abhängigkeiten von einigen Header Files ausgemacht und folgendes in mein makefile eingebaut:
... depend: $(SRCS) $(CXX) -MM $(SRCS) > $(DEPENDFILE) -include $(DEPENDFILE)
Das hilft in vielen Fällen, aber nicht immer. Ich hatte gerade wieder so ein Fall, wo eine Include Datei von einer anderen "includiert" wurde (war nur eine benötigte Datenstruktur). Dieser Fall scheint durch -MM nicht abgedeckt zu sein (wenn diese Datenstruktur verändert wird).
Gibt es da eine bessere Option, oder muss ich mit dieser Unsicherheit leben?
Ist schon lästig so etwas - hat fast 2 Tage gedauert.