Linux von Grund auf

527
PRANAY KASTHALA

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:

  1. konfigurieren
  2. machen
  3. test machen
  4. installiere

Noch was ist Makefile?

Erklären Sie mir bitte den Zweck dieser Befehle, insbesondere in Bezug auf LFS. Vielen Dank im Voraus.

1
Das Konfigurationsskript wird von "autotools" zur Verfügung gestellt. Wenn Sie bei Google, WikiPedia usw. nach `Makefile` und` Autotools configure script 'suchen, sollten Sie viele Ressourcen erhalten, um mehr über sie zu erfahren. BenjiWiebe vor 6 Jahren 0

2 Antworten auf die Frage

3
ivanivan

Die Verwendung von a Makefileerleichtert 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_worldkann 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 configureAusführen des Skripts bestimmt werden ) können zu Fehlern führen.

-1
Piovezan

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 .oErweiterung 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 .sooder 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.

http://lmgtfy.com/?q=linux+what+does+configure+do BenjiWiebe vor 6 Jahren 0
@ BenjiWiebe behoben. Übrigens, falls die Gegenstimme Ihnen gehört, denke ich, dass unvollständige Antworten keinen Abstimmungswert verdienen, sondern nur falsche. Piovezan vor 6 Jahren 0
Downvoter erklären bitte den Grund für das Downvote. Piovezan vor 6 Jahren 0