make instalar how example con como makefile install

makefile - instalar - Diferencia en los detalles entre "make install" y "make altinstall"



makefile ubuntu (1)

¡Echemos un vistazo al Makefile generado!

Primero, el objetivo de instalación:

install: altinstall bininstall maninstall

Hace todo altinstall hace altinstall , junto con bininstall y maninstall

Aquí está bininstall , simplemente crea el python y otros enlaces simbólicos.

# Install the interpreter by creating a symlink chain: # $(PYTHON) -> python2 -> python$(VERSION)) # Also create equivalent chains for other installed files bininstall: altbininstall -if test -f $(DESTDIR)$(BINDIR)/$(PYTHON) -o -h $(DESTDIR)$(BINDIR)/$(PYTHON); / then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); / else true; / fi (cd $(DESTDIR)$(BINDIR); $(LN) -s python2$(EXE) $(PYTHON)) -rm -f $(DESTDIR)$(BINDIR)/python2$(EXE) (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) python2$(EXE)) ... (More links created)

Y aquí está maninstall , solo crea enlaces "no versionados" a las páginas de manual de python.

# Install the unversioned manual pages maninstall: altmaninstall -rm -f $(DESTDIR)$(MANDIR)/man1/python2.1 (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python$(VERSION).1 python2.1) -rm -f $(DESTDIR)$(MANDIR)/man1/python.1 (cd $(DESTDIR)$(MANDIR)/man1; $(LN) -s python2.1 python.1)

Tl; dr: altinstall omite la creación del enlace de python y los enlaces a las páginas de manual, la install ocultará los binarios del sistema y las páginas de manual.

Aquí está mi caso:

Estoy usando Ubuntu 10.04. El Python predeterminado del sistema es v2.6.5, pero necesito Python v2.7. Así que descargué la fuente de python.org y traté de instalarla.

La primera vez que lo instalé, ejecuté:

cd Python2.7.4 ./configure --prefix=/usr make su root make install

Esto instala Python 2.7 en mi sistema, creará un enlace "python" en /usr/bin vinculándolo a python2.7 también en /usr/bin . Entonces cuando >python2.7 >python , el sistema arrancará Python 2.7.4 para mí al igual que cuando >python2.7 .

Pero cuando instalo de esta manera:

cd Python2.7.4 ./configure --prefix=/usr make su root make altinstall

El enlace "python" en /usr/bin todavía existe y enlaza con python2.6 que es la versión predeterminada del sistema. Por supuesto, puedo eliminarlo y crear un nuevo enlace de software que enlace a python2.7 .

Mi pregunta es: ¿cuál es la diferencia entre el comando "make install" y "make altinstall", a excepción del enlace en /usr/bin ?

Gracias de antemano.