GNU Automake

GNU Automake

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 GNU. El archivo Makefile generado sigue la directiva Estándar de Codificación GNU. La última versión de automake es la 1.11.

Está escrita con el lenguaje de programación Perl y debe ser usado con GNU autoconf. Automake contiene los siguientes comandos:

  • aclocal
  • automake

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.

Contenido

Introducción

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:

  • una línea que declare el nombre del programa a construir;
  • una lista de archivos fuente;
  • una lista de opciones para pasar al compilador (los directorios donde localizar los archivos de cabecera);
  • una lista de opciones para pasar al enlazador (las librerías que necesita el programa y en qué directorios se encuentran).

Con esta información Automake genera un archivo makefile que permite que el usuario pueda:

  • compilar el programa;
  • limpiar (eliminar los archivos resultantes de la compilación);
  • instalar el programa en los directorios estándar;
  • desinstalar el programa donde se haya instalado;
  • crear un archivo fuente de distribución (comunmente llamado tarball);
  • comprobar que el archivo es autosuficiente y en concreto que el programa puede ser compilado en un directorio diferente al que se descomprimió los fuentes.

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 librerías 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 librerías portable.

Véase también

Referencias

  • Gary V. Vaughan, Ben Elliston, Tom Tromey: Gnu Autoconf, Automake, and Libtool, Sams, ISBN 1-57870-190-2

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • GNU Automake — est un logiciel générant des makefiles portables qui peuvent être utilisés par make pour compiler des programmes. C est un logiciel libre développé et maintenu par le projet GNU et utilisé dans le processus de compilation du système GNU. Les… …   Wikipédia en Français

  • Automake — GNU Automake est un logiciel générant des makefiles portables qui peuvent être utilisés par make pour compiler des programmes. Il provient de la Free Software Foundation et fait partie du système de compilation GNU. Les makefiles produits se… …   Wikipédia en Français

  • GNU build system — GNU logo The GNU build system, also known as the Autotools, is a suite of programming tools designed to assist in making source code packages portable to many Unix like systems. It can be difficult to make a software program portable: the C… …   Wikipedia

  • GNU GLOBAL — Code source du noyau Linux 2.6.18 …   Wikipédia en Français

  • Automake — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

  • GNU Autotools — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

  • GNU autotools — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

  • GNU Build System — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

  • Automake — Infobox Software name = Automake developer = The GNU Project latest release version = 1.10.1 latest release date = January 21, 2008 operating system = Cross platform genre = Programming tool license = GNU General Public License website =… …   Wikipedia

  • GNU build system — Se ha sugerido que este artículo o sección sea fusionado con Sistema de construcción para GNU (discusión). Una vez que hayas realizado la fusión de artículos, pide la fusión de historiales aquí. El GNU build system conocido también como Autotools …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”