Ich habe ein Projekt, das ich mit automake erstellen möchte. Das Projekt besteht aus verschiedenen Komponenten oder Modulen und es gibt Abhängigkeiten zwischen Modulen, die erfordern, dass das Projekt in einer bestimmten Reihenfolge erstellt wird.
Zum Beispiel:
%Vor%Ich bin relativ neu in Automake, aber ich (fast) weiß, wie man es benutzt, um ein einzelnes Projekt erfolgreich zu bauen.
Ich würde gerne eine 'Master'-Projektdatei haben (wenn das möglich ist), die die Erstellungsreihenfolge der Projektmodule angibt, Komponententests ausführt und den gesamten Erstellungsprozess durchläßt, wenn entweder:
Wie würde ich eine solche "Masterprojekt" -Datei schreiben (oder einen anderen Mechanismus aufrufen), um Projekte zu erstellen, die viele intermodulare Abhängigkeiten haben?
Wenn Sie Autotools verwenden, können Sie auch automake verwenden. Die oberste Ebene Makefile.am
kann eine Liste von Unterverzeichnissen enthalten, die der Reihe nach abstammen, z. B .:
Das Unterverzeichnis Makefile.am
kann Ziele für Tests hinzufügen, die mit 'make check' aufgerufen werden, wodurch der Build bei Bedarf erzwungen wird:
Es gibt eine Menge zu lernen, und die beste aktuelle Praxis kann schwierig zu bestimmen sein, aber wenn Sie Autotools verwenden, werden Sie an diese Situation gewöhnt sein.
BEARBEITEN :
info automake
liefert die Referenzdokumentation - aber es macht ein schlechtes Tutorial. Einer der besten Guides, auf die ich gestoßen bin, kann hier gefunden werden.
Ich habe das gleiche Problem festgestellt und gefunden dass eine reine autotools-lösung nur sehr schwer in betrieb zu nehmen ist, weil das configure script zb für module4
hängt von der Installation von module1
ab.
Ein handgerolltes Makefile und ein Skript für diese Situation können relativ einfach erstellt werden. Ich habe unter dem rapidSTORM-Projekt Makefile eingefügt. Es wird für die Out-of-Tree-Erstellung verwendet (Quellverzeichnis und Buildverzeichnis).
%Vor%