Frage

Was sind einige Alternativen zu rel="noreferrer">?

War es hilfreich?

Lösung

Ich mag SCons . Es ist so aufgebaut, dass jeder Build-Skript (eine SConstruct-Datei) ist auch ein syntaktisch gültiges Python-Programm. So können Sie beliebige Python-Logik in der Build-Skript bauen, wenn Sie müssen.

Es ist auch viel schneller als make und viele Arten von Abhängigkeiten automatisch berechnet.

Andere Tipps

Meine erste Frage wäre, was ist das Publikum. Ist das für den Aufbau von Inhouse-Software, die nur Ihr Team aufbauen? Wenn ja, erkunden bereits präsentiert einige der Optionen. Ist dies etwas, das andere Gebäude wird entweder Stick mit make oder ein Tool, das Make-Datei erstellt und diejenigen versandt. Wir verwenden autoconf und auto für Linux und andere Unix-Plattformen. Meiner Meinung nach, müssen Sie einen sehr guten Grund, etwas anderes als configure zu tun; machen; make install. Boost hat ihr eigenes Werkzeug (eine modifizierte Version von Jam), und es ärgert mich jedes Mal wenn ich versuchen müssen und bekommen es auf eine ungewöhnliche Maschine zu kompilieren.

Cmake und imake sind beide Dienstprogramme bauen, obwohl imake wird nicht mehr gepflegt. Cmake ist auch plattformübergreifend und kann auch unter Windows verwendet werden.

Wenn Sie in Java, ANT ist ein Build-Tool auf Java ausgerichtet (die nicht wirklich gut mit Make spielen).

Troll Tech ein Werkzeug machen namens Qmake , die sie verwenden, QT zu bauen. Es funktioniert durch die Erzeugung von Makefiles - Troll ein Werkzeug benötigt, um eine plattformübergreifende bauen zu unterstützen -. So müssen Sie noch ein anderes Dienstprogramm machen

Automake: p, die üblicherweise in den meisten Linux-App Distributionen verwendet wird, aber es gibt ein bisschen mehr Arbeit als ein Makefile, aber bessere Ergebnisse http://www.gnu.org/software/automake/

http://www.openismus.com/documents/linux/automake /automake.shtml <- schöne Erklärung auf, wie auto und autoconf verwenden

Wenn Sie suchen etwas ganz anderes, gibt es Ant . Ich bin nicht so interessiert an es selbst, aber es einige Portabilität Vorteile bietet (kein Vertrauen auf die Unix-Shell, etc.)

Ich habe gute Dinge gehört über Jam .

omake ist ein Build-Werkzeug für C / C ++, OCaml und LaTeX mit automatischen Abhängigkeits Analyse. Es kann leicht Projekte über mehrere Verzeichnisse bauen, und es findet Veränderungen auf Basis von MD5-Summe anstatt Zeitstempel. Es hat auch einen Modus, in dem es im Hintergrund ausgeführt werden, Ihr Projekt den Aufbau, wenn eine Datei geändert wird. Im Allgemeinen dauert es weniger Code gemeinsame Arten von Projekten (C / C ++ oder OCaml Programmen und Bibliotheken) zu bauen, als macht. Ich habe es nicht für größere Projekte versucht.

Beachten Sie, wenn Sie in OCaml programmieren wollen, dieses Tool wirklich nützlich ist, da der OCaml Linker Module kompiliert erfordert in der Befehlszeile in der Reihenfolge ihrer Abhängigkeit erscheinen, und diese Ordnung etwas ändert jedes Mal herauszufinden, ist nicht trivial.

Ich habe CMake für mehr meiner Projekte, darunter auch einige Autotool Portierung basiert ist, und ich kann sagen, dass es seine Aufgabe tut sehr gut. Es ist vor allem geeignet für C / C ++ Cross-Plattform-Projekte.

Das Projekt arbeite ich an einigen Code geerbt, die Cons statt Make (nicht zu verwechseln mit SCons in Greg Hewgill Antwort) verwendet wird.

Cons ist in Perl geschrieben, ähnlich wie SCons in Python geschrieben. Er verwaltet Abhängigkeiten automatisch, und Sie können innerhalb des Build-Skript jeden Perl-Code verwenden, um komplexe Build-Sequenzen zu verarbeiten.

Der Hauptnachteil (und der Hauptgrund, tut mir leid, es ist mein Projekt verwendet) ist, dass Cons parallel nicht tut, im Stil der make -j baut. Wenn Sie eine Reihe von Dateien sind kompilieren, die auf einander Cons hängen nicht wird sie einer nach dem anderen kompilieren, während make -j sie parallel kompilieren, was toll ist, wenn man mehrere Kerne und Threads auf Ihrem Rechner haben.

Ein weiteres machen für Cross-Plattform aufbaut, ist kmake (ein Teil von kbuild, in seinen eigenen Worten:. kbuild ist ein Make-Datei Rahmen für das Schreiben von einfachen Makefiles für komplexe Aufgaben ). Es ist eine erweiterte Version von GNU make. Es wird von den VirtualBox Leute entwickelt. Sie benutzen sie ihre VirtualBox Produkt für Windows, Linux, MacOS und Solaris zu bauen. Ziemlich tragbar!

Siehe http://svn.netlabs.org/kbuild .

WAF ist eine interessante Alternative. Geschrieben in Python ermöglicht es Ihnen, Ihre Build-Logik in einfachen Python zu schreiben. Parallel baut + semi-auto-Magie signaturbasierte Verfolgung von Abhängigkeiten Arbeit recht gut. Es ist angeblich Cross-Plattform (das heißt weiß, wie baut auf Windows zu tun), aber ich habe das nicht versucht.

Es ist eine ziemlich steile Lernkurve bekommen, aber es kommt auch mit "The WAF Buch " mit dem Prozess zu unterstützen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top