Was haben Benutzer vor dem Make-Befehl getan oder verwendet?

Was haben Benutzer vor dem Make-Befehl getan oder verwendet?

Ich verwende Gentoo als mein primäres Desktop-Betriebssystem zu Hause. Das mache ich seit ca. 2004. Ich schätze den emergeBefehl zur Verwaltung eines quellbasierten Betriebssystems genauso sehr, wie er es tut. Ab und zu schaue ich mir andere Distributionen an, aber besonders mag ichLinux von Grund auf - Für diejenigen unter Ihnen, die es nicht wissen. Zugegeben, ich habe das ganze Buch nie durchgelesen, weil ich in dieser Hinsicht durch die Verwendung von Gentoo verwöhnt wurde. Ich betrachte Gentoo als LFS + Paketmanager. Ich habe mich schließlich dazu entschlossen, das Buch fertigzustellen, also habe ich XUbuntu auf eine VM gesetzt, um die Neuheit zu simulieren und ...


Ich verfolge den Release Candidate fürVersion 3 - Systemd von CLFSund es traf michKapitel 6 - Temporäres System - Erstellen. Wenn ein Benutzer makeeine Version von Make kompilieren muss,Henne-Ei-Kausalitätsproblemerscheint Dies führt mich zu meiner nächsten logischen Frage.

  1. WannStuart Feldman1976 erstellt make, wie hat die Computeröffentlichkeit sein Programm kompiliert, wenn ihr Betriebssystem kein Betriebssystem-Abhängiges enthielt make? Soll ich davon ausgehen, dass der folgende WikiPedia-Artikel für jedes Betriebssystem gilt?

  2. Musste er Make so verpacken, dass jede betriebssystemabhängige Version von Make enthalten war, um Make 1 zu vervollständigen?(Siehe unten)

  3. Wenn ich Programm A brauche, es aber nur zum Kompilieren auf OS A verfügbar ist, muss ich dann OS A kaufen, auch wenn ich OS B verwende? (Bitte ignorieren Sie Windows hier wenn möglich.)

Aktualisieren

  1. Basierend auf jimmijs Kommentar,Gab es betriebssystemspezifische Compiler, so wie „make“ betriebssystemabhängig war?

WikiPediasagt:

Vor der Einführung von Make bestand das Unix-Build-System meist aus betriebssystemabhängigen „Make“- und „Install“-Shell-Skripten, die den Quellcode des jeweiligen Programms begleiteten. Die Möglichkeit, die Befehle für die verschiedenen Ziele in einer einzigen Datei zu kombinieren und die Abhängigkeitsverfolgung und Archivverwaltung zu abstrahieren, war ein wichtiger Schritt in Richtung moderner Build-Umgebungen.

Bitte beachten Sie auch, dass ich hier nach einer historischen Perspektive suche, da ich 1976 geboren bin.

Antwort1

Make dient lediglich der Benutzerfreundlichkeit. Sie können Software auch ohne erstellen, es ist nur schwieriger.

Wenn Sie makeetwas erstellen, werden Ihnen die ausgeführten Befehle angezeigt. Sie können diese Befehle manuell ausführen und erzielen damit den gleichen Effekt.

$ echo "int main() {}" > test.c
$ make test
cc     test.c   -o test

Dadurch wurde eine Datei mit dem Namen erstellt test.
Ich kann dasselbe Ergebnis erzielen, indem ich Folgendes mache:

cc test.c -o test

 

ccWenn „make“ nicht vorhanden wäre, könnten Sie die Benutzer entweder anweisen, diesen Befehl manuell auszuführen , oder Sie könnten ein Shell-Skript verteilen und sie anweisen, das Skript auszuführen.

verwandte Informationen