V
tntnet schrieb:
Ich empfehle Dir, auf ein besseres Build-System umzusteigen.
Ich empfehle das nicht.
Lange Zeit bei make bleiben. Irgendwann, wenn make nicht mehr reicht, ganz große Haufen machen und was selber schreiben. Aber nicht diese Zwischendinger, die haben nicht spürbar mehr Puste als make, können auch kein auto-linking und kein zyklischen Projekt-Abhängigkeiten. Nur die Anfängerbeispiele mit einer Hand voll Dateien sehen ganz toll einfach aus. Will man die einpflegen, weshalb man make-Probleme aufziehen sah, wirds um so komplizierter.
Ordentlicher Code fühlt sich mit make sauwohl. Wenn make nicht zu reichen scheint, würde ich mir zuerst Gedanken drüber machen, ob man wirklich aus der selben *.cpp eine *.dll, eine *.lib UND eine *.exe erzeugen will. Oder ob man wirklich ALLE *.obj in eine einzige riesengroße *.dll ballern will; ganz sicher kommt später der Wunsch, manche wieder davon auszuschließen, der Alle-Hack wird nochmal gehackt.
tntnet schrieb:
Es ist echt schwer, ein korrektes Makefile von Hand zu schreiben. Du willst ja auch die Sourcen compilieren, wenn Du einen Header änderst. Und nur die Sourcen, die davon abhängen.
Das wäre leicht. Siehe Links im Eröffnungsposting.
automake und Konsorten empfinde ich als eine Pest. Alles dauert länger, klappt auf fremden Rechner nicht und die "platformunabhängigen" automakefiles haben die Tendenz, ins Unermessliche zu wachsen. Dann sitze ich als armer Wurm vor einem ein wenig ungeöhnlich eingereichtetem Rechner, das generierte makefile läuft nicht durch, und der generierte Code ist zu durcheinander, um ernstlich ins Auge zu fassen, ihn zu reparieren. Die inzwischen 120k großen Steuerdateien des "besseren" maketools ebenso.