Ich habe ein sehr großes C-Projekt mit vielen separaten C-Dateien und Headern und vielen Dutzenden von Mitwirkenden. Viele Mitwirkende haben kein ausgeprägtes Wissen über Makefiles und Abhängigkeiten, was zu dem nicht unüblichen Problem führt, dass Sie fast immer "sauber machen" müssen, bevor Sie darauf vertrauen können, dass "make" eine korrekte Ausgabe erzeugt hat.Abhängigkeitsprüfung - wie man ein Projekt mit fehlerhaften Makefiles bereinigt
Wenn es Minuten dauern würde, wäre das kein Problem, aber es sind jetzt fast 2 Stunden auf einem schnellen Rechner, und die Leute fangen an, Code einzupacken, der funktioniert, wenn sie gemacht werden, aber sie reinigen nicht zuerst und Ihr Code bricht schließlich den Build. Fragen Sie nicht, warum diese nicht vom Erstellungsmanager abgefangen werden, bevor eine neue Grundlinie geschnitten wird ...
Ja, wir hätten es nicht so weit gehen lassen sollen.
Ja, wir bilden unsere Entwickler aus.
Wie immer haben wir keine Zeit, alles zu stoppen und von Hand zu reparieren.
Ich denke, es gibt Werkzeuge in diese Richtung:
- Gibt es automatisierte Tools richtige Abhängigkeitsinformationen für ein vorhandenes Projekt aus den C- und H-Dateien erstellen helfen?
- Gibt es automatisierte Tools, um Abhängigkeitsinformationen gemäß den Makefiles zu beschreiben?
- Gibt es einen heiligen Gral eines Werkzeugs, um die Unterschiede zwischen den beiden oben genannten Abhängigkeitsbäumen zu beschreiben?
Aber was kann/sollte noch getan werden, um dieses Problem zu beheben?
Vielen Dank im Voraus ...
-Adam
Fügen Sie den Makefiles, die die Abhängigkeiten neu aufbauen, eine 'make depend'-Regel hinzu, wie in der querverweisenden SO-Frage/Antwort. –