Ist es normalerweise notwendig zu machen und dann zu installieren?

1249
Jason Baker

Das ist etwas, was mich immer geärgert hat. Es sieht so aus, als würde ich immer eine Bauanleitung für das Bauen und dann das Installieren von etwas sehen, das folgendes sagt:

make sudo make install 

Gibt es wirklich einen Grund anzurufen make? Ruft nicht sudo make installimplizit an make?

3

2 Antworten auf die Frage

3
Shannon Nelson

Technisch gibt es keinen Grund, warum nicht - dies hängt wirklich davon ab, wie das Makefile eingerichtet wurde. Es ist alles auf Abhängigkeiten ausgelegt. Wenn das Installationsziel vom Rest des Produkts abhängig gemacht wird, erstellt es implizit das Produkt, wie Sie denken.

Der Grund dafür, dass sie getrennt werden, ist, dass Sie normalerweise ein "Make" als unprivilegierter Entwickler ausführen und die "Make-Installation" mit erhöhten Privs durchführen. Normalerweise möchten Sie diese Aktionen nicht mischen.

1
John T

Die 2 Befehle haben unterschiedliche Funktionen.

make - liest das Makefile nach Anweisungen zum Kompilieren der Quellen. Es erstellt das Programm und das Endergebnis sind Ihre Binärdateien.

make install - liest das Makefile für das Zielinstallationsverzeichnis und speichert die von make erstellten Dateien in die entsprechenden Verzeichnisse.

Gibt es nicht mindestens eine Plattform, auf der "make" von "make install" aufgerufen wird? Jason Baker vor 15 Jahren 0
Sie können make mit "make install" aufrufen, make install nach einem Label im Makefile namens install suchen und den Anweisungen darunter folgen. Wenn Sie darunter make-Anweisungen setzen, können Sie dies alles auf einmal tun. Dies geschieht jedoch normalerweise in umgekehrter Reihenfolge, wahrscheinlich um Verwirrung zu vermeiden, sodass die gesamte Software gleich installiert wird. Ich kenne keine Software, die ich entwickelt habe, um den Herstellungsprozess zu überspringen. Sie werden auch feststellen, dass make install mit sudo vorangestellt wird, da der make-Prozess von überall aus ausgeführt werden kann. Mit make install werden Dateien in Verzeichnisse verschoben, die normalerweise für normale Benutzer schreibgeschützt sind. John T vor 15 Jahren 0