Odpowiedzi:
make
szuka pierwszego celu w Makefile. (GNU Make pozwala to skonfigurować).
make install
szuka celu o nazwie dokładnie „ install
”.
make
musi mieć install
cel. Nie ma absolutnie żadnych reguł poza tym, co jest zdefiniowane w każdym konkretnym Makefile
, choć istnieją ogólne wytyczne, których przestrzega wielu programistów. Zazwyczaj wytyczne są specyficzne dla małych grup - istnieje nieskończona liczba sposobów robienia rzeczy, z których wiele jest równie ważnych.
Dokonaj instalacji jest jednym z wielu możliwych celów w pliku Makefile. Jako prosty przykład drugi bardzo powszechny jest czysty: make clean, ogólnie rzecz biorąc, czyści pliki tymczasowe, które są niezbędnymi / użytecznymi produktami ubocznymi procesu kompilacji, ale które nie są już potrzebne po utworzeniu końcowego pliku wykonywalnego.
Wykonaj instalację zawiera instrukcje, aby wstawić skompilowany produkt do systemu, na przykład uruchamiając niezbędne polecenie depmod, które zajmuje się instalacją modułu.
dlaczego więc trzeba uruchomić oba ?!
Ponieważ pierwszy może być wykonywany jako zwykły użytkownik, drugi często wymaga uprawnień systemowych.
Jeśli twoje następne pytanie brzmi: dlaczego nie uruchomić obu jako sudo, odpowiedź brzmi: nie wszystkie instalacje będą używane w całym systemie. Na przykład, jeśli nie masz uprawnień roota w systemie, do którego masz dostęp, możesz skompilować i zainstalować dany pakiet do własnego wyłącznego użytku. W takim przypadku chcesz móc go skompilować i przekazać do konsolidatora, ale nie możesz go zainstalować do użytku przez wszystkich użytkowników systemu. W takim przypadku przyczyna różnicy jest oczywista.
Innymi słowy, każdy etap procesu instalacji jest zorganizowany w taki sposób, aby można go było wykonywać przy możliwie najniższych uprawnieniach, co pozwala zarówno na instalację systemową, jak i lokalną, o ile ma to sens.