Was sind makefiles - make install
Sehe ich in Linux diese Dinge, aber was ist es?:
./configure
make
make install
etc etc.
- Anotther Frage ist, warum die Entwickler nicht complie, sehe ich eine Menge von software machen mir complie mich?
- Linux läuft auf vielen verschiedenen Plattformen (unterschiedliche Prozessoren, Architekturen, hardware -, OS/kernel-Versionen, etc) - es wäre unpraktisch, vor-kompilierte binaries für die unzähligen möglichen Konfigurationen, die es gibt.
- Es gibt eine Menge von pre-compiled binaries. Sie in der Regel am Ende mit .deb-oder .U / min. Wenn Sie eine distribution wie Ubuntu, die Sie bekommen können die meisten software vorkompiliert aus dem repository.
- obwohl es gibt eine Handvoll, die Dominieren, und beliebte Projekte tatsächlich bieten vorkompilierten binaries. Wohl aber für die bessere route ist mit Ihrer distribution Paket-system, um pull-down-pre-compiled binaries, die alle relevanten Informationen zu Abhängigkeiten kümmert.
- Verwandte: stackoverflow.com/questions/2529566/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
make
ist Teil des build-system, allgemein verwendet in den Systemen des Typs unix - binutils.Sieht es bei Dateien, die Konfigurations-Informationen und build-targets.
Speziell -
make
mit dem Standard-build-Ziel. Normalerweise baut die app.make
mit derinstall
Ziel erstellen. Normalerweise installiert sich die app../configure
ist ein Programm, dass sieht bei der Konfiguration Ihres Systems und baut einige der system-Abhängigkeiten für Ihr Programm.make
ist ein Programm, das schaut IhrMakefile
(das war wahrscheinlich gebaut vonconfigure
) und verwendet die Regeln, die dort bauen Sie Ihr Programm. DieMakefile
können mehrere "Ziele", die Regelsätze, die verschiedene Dinge tun - die Standardeinstellung ist in der Regel nur zum kompilieren und verknüpfen Sie Ihr Programm. Wenn Sie sagenmake
mit keine Argumente, es läuft das Standard-Ziel. Wenn Sie sagenmake install
Sie dieinstall
Ziel, die in der Regel installiert die binaries und Bibliotheken gebaut, die durch den Standard-Ziel in Ihre endgültigen Standorte.clean
ist eine weitere gemeinsame Makefile-Ziel, das löscht alle generierten Dateien, wie Mittelstufe-Objekt-Dateien.configure
überprüft, ob Sie alle Voraussetzungen/Abhängigkeiten zum bauen der software.make
macht die eigentliche Kompilierung.make install
installiert die software in der richtigen Lage.Es ist im Grunde ein build-system.
./configure
überprüft, ob Sie alle benötigten Abhängigkeiten und erstellt die Makefile.make
kompiliert die software mit den Regeln des Makefiles.make install
bewegt sich die software an den richtigen Ort im Dateisystem.Machen, kümmert sich um das ausführen der (manchmal sehr komplexe) Reihe von Anweisungen und Befehle benötigt, um zu bauen-source-control in einer kompilierten ausführbaren Datei oder Bibliothek.
stellen (software)
'./configure " ist ein shell-Skript, das ist tragbar über mehrere Unix-Systeme (Linux, Solaris, etc.). './configure' ein paar Dinge: testen Sie die build-Umgebung, beheben Portabilität Fragen, überprüfen Sie für andere optionale software, überprüfen Sie, wo Sie wollen, um das Softwarepaket zu installieren, etc. Finden Sie heraus, welche Art von Optionen, die konfiguriert werden können './configure --help'. Nur Aufruf von './konfigurieren' wird nur das Paket konfigurieren mit dem, was Sie der Auffassung ist Standard. Der main output-Datei aus laufen './konfigurieren Sie' ist in der Regel eine Datei namens "Makefile", das die kombinierte aufbauen/installieren/deinstallieren Anweisungen für das software-Paket.
'machen' verwendet die 'Makefile' zu bauen, das Standard-Ziel ist für gewöhnlich die gesamte Sammlung von Dingen, die gebaut werden müssen.
'make install' verwendet die 'Makefile' zu bauen, die "install" - Ziel, das die software installiert wird.
Ich fand diese awesome Artikel (Verständnis-software-Installation configure, make, make install) - das geht in detail auf, wie configure, make und make install funktioniert. Nicht zu flach und nicht zu tief, gerade genug, um eine komfortable mit Linux-Installationen. http://www.codecoffee.com/tipsforlinux/articles/27.html
Gibt es auch
make clean
Hier ist eine gute Referenz: http://makepp.sourceforge.net/1.19/makepp_tutorial.html
/make
und/clean
??