Die Verwendung von a Makefile
erleichtert sowohl dem Entwickler als auch dem Endbenutzer das Leben. Im Grunde ist es ein Spickzettel, wie eine bestimmte Software erstellt wird. Für eine einfache "Hallo Welt" g++ hw.cpp -o hello_world
kann das funktionieren. Wenn Sie jedoch eine viel komplexere Software haben, muss Stück A oft vor Stück B gebaut werden. Sobald diese beiden Komponenten fertig sind, kann Stück C erstellt werden. Die manuelle Eingabe dieser Eingaben sowie das Einfügen von Pfaden zu enthaltenen Bibliotheken, temporären Ausgabedateien, endgültigen Installationspfaden usw. (die normalerweise beim configure
Ausführen des Skripts bestimmt werden ) können zu Fehlern führen.
Linux von Grund auf
Ich mache gerade Linux From Scratch. Ich habe einige Pakete heruntergeladen. Ich entpacke sie mit dem Befehl "tar" und führe folgende Schritte in diesem extrahierten Paket aus:
- konfigurieren
- machen
- test machen
- installiere
Noch was ist Makefile?
Erklären Sie mir bitte den Zweck dieser Befehle, insbesondere in Bezug auf LFS. Vielen Dank im Voraus.
2 Antworten auf die Frage
Ich weiß (irgendwie) was es tut, aber ich bin mir nicht sicher, ob ich weiß, wie ich es erklären soll.
Grundsätzlich erstellen Sie mit der von Ihnen erwähnten Befehlsfolge etwas in binär ausführbarer Form (ein Programm, eine Bibliothek) aus Quellcode (dh Code, der in einer Programmiersprache geschrieben ist) und installieren ihn in Ihrem Betriebssystem (verschieben Sie ihn in einen entsprechenden Ordner), Einrichten von Konfigurationsdateien usw.).
Das Makefile ist eine Textdatei, die der Befehl make verwendet. Es hilft (automatisiert) Aufgaben. Ein einzelnes Makefile kann Informationen für mehr als eine Aufgabe oder Aktion enthalten, die make ausführen soll. Ohne ein Makefile müssen Sie viele komplizierte manuelle Schritte ausführen, um die Aufgaben zu erledigen.
„konfigurieren“ (Erklärung von genommen hier ) Prüft einige Details über die Maschine, auf dem die Software installiert werden soll. Dieses Skript prüft, ob auf Ihrem System viele Abhängigkeiten vorhanden sind. Damit die jeweilige Software ordnungsgemäß funktioniert, müssen möglicherweise bereits viele Dinge auf Ihrem Computer vorhanden sein. Wenn eine der Hauptanforderungen auf Ihrem System fehlt, wird das Konfigurationsskript beendet, und Sie können mit der Installation nicht fortfahren, bis Sie die erforderlichen Informationen erhalten. Andernfalls wird das Makefile erstellt, das im nächsten Schritt verwendet werden soll.
"make" ohne Parameter: weist make an, die Standardaktion (Regel) im Makefile auszuführen. Dies kompiliert, verknüpft und generiert normalerweise die Binärdatei, die Sie erstellen möchten (dh das Programm oder die Bibliothek). Dies umfasst normalerweise das Konvertieren des Quellcodes in Objektdateien (die normalerweise die .o
Erweiterung haben) und das Verknüpfen in eine endgültige Binärdatei (die bei Linux-Programmen normalerweise keine Erweiterung hat oder im Fall von Linux-Bibliotheken die Erweiterung .so
oder enthält .a
). Ich bin nicht sicher, was die Schritte angeht, da ich Java-Programmierer bin und wir diese Schritte nicht sehr oft ausführen.
"make test": führt Tests mit dieser Binärdatei durch.
"make install": verschiebt die Binärdatei grundsätzlich an den richtigen Ort.
Diese Erklärung kann natürlich viele Verbesserungen erfahren, ich versuche nur, Ihnen eine Vorstellung von dem allgemeinen Prozess zu vermitteln.
Dieses kurze Tutorial enthält möglicherweise weitere Informationen.
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4