viernes, mayo 30, 2014

Autotools, tutorial de uso (IV): Las rutas de instalación en make

Una de las ventajas que tiene usar los mecanismos para definir las rutas de autotools es que a la hora de compilar se puede pasar parámetros a make que sobreescriban el valor original de las rutas que se hayan especificado en el configure. Si se parte del segundo tutorial, se puede configurar el proyecto para que tenga como prefix /usr/local

swordcoast:tut2 terron$ ./autogen.sh
swordcoast:tut2 terron$ ./configure --prefix=/usr/local
# Salida del configure omitida
swordcoast:tut2 terron$ make
# Salida del make omitita
swordcoast:tut2 terron$ ./tut2
prefix         = /usr/local
bindir         = /usr/local/bin
sbindir       = /usr/local/sbin
sysconfdir  = /usr/local/etc
libdir          = /usr/local/libexec

Si borramos los binarios construidos y volvemos a compilar usando make, pero pasamos como parámetro prefix, veremos como cambia las rutas donde se instalaran los binarios (la salida del make se ha omitido)

swordcoast:tut2 terron$ make clean
swordcoast:tut2 terron$ make prefix=/opt
swordcoast:tut2 terron$ ./tut2
prefix         = /usr/local
bindir         = /opt/bin
sbindir        = /opt/sbin
sysconfdir    = /opt/etc
libdir        = /opt/libexec

En la salida del programa puede verse como prefix sigue teniendo el valor que se le especificó cuando se configuró el programa a través del script configure, pero que el resto de las rutas ha cambiado como consecuencia de haber pasado el parámetro prefix al make . Existen varias de estas variables que se pueden cambiar:

  • prefix la ruta común para toda la instalación de todos los ficheros
  • exec_prefix la ruta para aquellos ficheros que son dependientes de la arquitectura.
  • docdir la ruta para los ficheros de documentación.
  • dotarootdir la ruta de aquellos ficheros de sólo lectura independiente de la arquitectura.

Referencias

No hay comentarios: