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.