Das klappt wunderbar, er compiliert jede der 4 cpp dateien zu einer *.o datei. Wenn ich nach b abbreche und dann das make neustarte macht er auch brav bei c weiter statt von anfang an zu beginnen.
kompiliert er zwar immernoch alles richtig, und die *.o dateien werden im build-ordner erstellt, aber wenn ich nach b abbreche und neustarte, fängt der wieder am anfang an...
Hat irgendwer eine ahnung wie ich den output in ein anderes verzeichnis bekomme, und trotzdem nicht immer wieder von vorn angefangen wird??
Bzw.. das problem ist, ich hab knapp 200 cpp dateien... wenn ich an einer was ändere, soll natürlich auch nur die eine neu compiliert werden... das klappt wunderbar mit der oberen methode, aber soblad ich die *.o's in das build-verzeichnis packe kompiliert er gnadenlos ALLES neu..
Ich würde mal behaupten er kompiliert deshalb nicht neu, weil er das *.o File welches aus dem *.cpp File generiert wurde findet. Das heißt wenn du den Zielordner änderst, musst du das auch im Makefile sagen, also nicht: %.o: %.cpp
sondern vielleicht ./build/%.o: %.cpp
Ist aber nur eine Idee, ich kenn mich mit Makefiles eigentlich garnicht aus .
Ich empfehle das Makefile nicht von Hand zu schreiben sondern einen Generator zu benutzen. Ich bin z.B. ziemlich begeistert von qmake, welches zu Qt gehört. Man kann damit auch Nicht-Qt-Anwendungen schreiben. Alternativ gibt es noch cmake und automake, die habe ich aber nie benutzt.
Ansonsten kann ich dir noch mein Universal-Makefile (aus dem Jahr 2006, bevor ich qmake kannte ) anbieten, welches übrigens die o-Files in einem tmp-Ordner erzeugt. Das Ding sucht sich alle Dateien selbst zusammen, muss dafür aber zusätzliche Depend-Files erzeugen, die dann vom Makefile inkludiert werden. Ggf. kannst du dir ab schauen wie ich das damals gemacht hab: http://www-users.rwth-aachen.de/martin. ... d/makefile
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.