Automake - Automake
Desarrollador (es) | Proyecto GNU |
---|---|
Versión inicial | 28 de mayo de 1996 |
Lanzamiento estable | 1.16.4 / 26 de julio de 2021
|
Repositorio | |
Sistema operativo | Multiplataforma |
Escribe | Herramienta de programación |
Licencia | Licencia pública general GNU |
Sitio web |
www |
En el desarrollo de software , GNU Automake es una herramienta de programación para automatizar partes del proceso de compilación. Alivia los problemas habituales de compilación. Por ejemplo, apunta a las dependencias necesarias.
Genera automáticamente uno o más Makefile.in a partir de archivos llamados Makefile.am . Cada Makefile.am contiene, entre otras cosas, definiciones de variables útiles para el software compilado, como indicadores del compilador y enlazador , dependencias y sus versiones, etc. Los " Makefile.in " generados son portátiles y cumplen con las convenciones de Makefile en el Estándares de codificación GNU , y puede ser utilizado por los scripts de configuración para generar un Makefile funcional .
La Free Software Foundation mantieneautomakecomo uno de los programas GNU y como parte del sistema de compilación GNU . Se utiliza para construir varias aplicaciones y bibliotecas GNU, como GTK , así como software que no es GNU como XCircuit .
Proceso
Automake tiene como objetivo permitir que el programador escriba un archivo MAKE en un lenguaje de nivel superior, en lugar de tener que escribir todo el archivo MAKE manualmente. En casos sencillos, basta con dar:
- Una línea que declara el nombre del programa a construir.
- Una lista de archivos de origen
- Una lista de opciones de la línea de comandos que se pasarán al compilador (por ejemplo, en qué directorios se encontrarán los archivos de encabezado)
- Una lista de opciones de la línea de comandos que se pasarán al enlazador (qué bibliotecas necesita el programa y en qué directorios se encuentran)
Automake también se encarga de generar automáticamente la información de dependencia , de modo que cuando se modifica un archivo fuente, la próxima invocación del comando make sepa qué archivos fuente deben recompilarse. Si el compilador lo permite, Automake intenta hacer que el sistema de dependencias sea dinámico: siempre que se compila un archivo fuente, las dependencias de ese archivo se actualizan pidiendo al compilador que vuelva a generar la lista de dependencias del archivo. En otras palabras, el seguimiento de dependencias es un efecto secundario del proceso de compilación.
Esto intenta evitar el problema con algunos sistemas de dependencia estática, donde las dependencias se detectan solo una vez cuando el programador comienza a trabajar en el proyecto.
Diseño
Automake está escrito en Perl y debe usarse con GNU Autoconf . Automake contiene los siguientes comandos:
- local
- automake
aclocal , sin embargo, es un programa de propósito general que puede ser útil para los usuarios de autoconf. La Colección de compiladores GNU (GCC), por ejemplo, usa un local aunque su archivo MAKE esté escrito a mano.
Al igual que Autoconf, Automake no es completamente compatible con versiones anteriores . Por ejemplo, un proyecto creado con automake 1.13 no necesariamente funcionará con automake 1.14.
Ver también
Referencias
Fuentes
- Vaughan, Gary V .; Elliston, Ben; Tromey, Tom (2000). GNU Autoconf, Automake y Libtool . Sams. ISBN 1-57870-190-2.