GNU Automake es una herramienta de programación que produce programas makefiles portables para el uso de make usado en la compilación de software. Es mantenido por la Fundación de Software Libre como uno de los programas GNU y es parte del sistema de construcción para GNU. El archivo Makefile generado sigue la directiva estándar de codificación GNU.
Está escrita con el lenguaje de programación Perl y debe ser usado con GNU autoconf. Automake contiene los siguientes comandos:
Sin embargo aclocal es un programa de uso general que puede ser usado por los usuarios de autoconf. La Colección de compiladores GNU usa aclocal aunque sus archivos makefile están escritos a mano.
Al igual que Autoconf, Automake puede ser difícil de utilizar porque no es completamente compatible con versiones anteriores. Por ejemplo, un proyecto creado con la versión 1.4 no tiene porque ser compatible con la 1.9.
Automake intenta que el programador pueda escribir un archivo makefile en un lenguaje de alto nivel en vez de tener que escribir todo el makefile manualmente. En los casos simples es suficiente con dar:
Con esta información Automake genera un archivo makefile que permite que el usuario pueda:
Automake también tiene cuidado de generar la información de dependencias; así como cuándo se ha modificado un archivo fuente. La siguiente invocación del comando make sabrá qué archivos fuente se van a recompilar. Si el compilador lo permite automake intentará hacer un sistema de dependencias dinámico. Cada vez que un archivo fuente es compilado las dependencias del archivo son actualizadas. Para ello pregunta al compilador la lista de dependencias de ese archivo. En otras palabras, el seguimiento de dependencias es un efecto secundario del proceso de compilación.
Esto intenta evitar los problemas con algunos sistemas de dependencia estáticos en los que las dependencias solo son detectadas cuando el programador empieza a trabajar en un proyecto. En tal caso si un archivo fuente tiene una nueva dependencia (si el programador añade una nueva directiva #include en el archivo fuente en C se añade una discrepancia entre las dependencias reales y aquellas que son usadas por el sistema de compilación. El programador debe regenerar las dependencias pero corre el riesgo de olvidar hacerlo.
Automake también puede ayudar en la compilación de bibliotecas generando automáticamente archivos makefile que invocarán la herramienta GNU Libtool. El programador no necesita conocer como llamar directamente a Libtool y el beneficio de usar una utilidad de creación de bibliotecas portable.
Escribe un comentario o lo que quieras sobre Automake (directo, no tienes que registrarte)
Comentarios
(de más nuevos a más antiguos)