Articulo de referencia

Fabricante de automóviles

GNU Automake es una herramienta de desarrollo de software que automatiza partes del proceso de compilación. Facilita la resolución de problemas comunes de compilación. Por ejemp...

GNU Automake es una herramienta de desarrollo de software que automatiza partes del proceso de compilación. Facilita la resolución de problemas comunes de compilación. Por ejemplo, indica las dependencias necesarias.

Genera automáticamente uno o más archivos 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 del enlazador , dependencias y sus versiones, etc. Los archivos Makefile.in generados son portátiles y cumplen con las convenciones de Makefile en los Estándares de Codificación GNU , y pueden ser utilizados por scripts de configuración para generar un Makefile funcional . [ 2 ]

La Fundación del Software Libre mantienefabricación de automóvilescomo uno de los programas GNU y como parte del sistema de compilación GNU . Se utiliza para compilar varias aplicaciones y bibliotecas GNU, como GTK , [ 3 ] así como software que no es GNU, como XCircuit . [ 4 ]

Proceso

Diagrama de flujo de autoconf y automake

Automake tiene como objetivo permitir al programador escribir un archivo makefile en un lenguaje de alto nivel, en lugar de tener que escribir todo el archivo makefile manualmente. En casos sencillos, basta con indicar lo siguiente:

  • Una línea que declara el nombre del programa a construir
  • Una lista de archivos fuente
  • Una lista de opciones de línea de comandos que se pasarán al compilador (por ejemplo, en qué directorios se encontrarán los archivos de cabecera).
  • Una lista de opciones de línea de comandos que se pasarán al enlazador (qué bibliotecas necesita el programa y en qué directorios deben encontrarse).

Automake también se encarga de generar automáticamente la información de dependencias , [ 5 ] de modo que cuando se modifica un archivo fuente, la siguiente ejecución del comando make sabrá qué archivos fuente necesitan recompilarse. Si el compilador lo permite, Automake intenta que el sistema de dependencias sea dinámico: cada vez que se compila un archivo fuente, las dependencias de ese archivo se actualizan solicitando al compilador que regenere 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 de algunos sistemas de dependencia estática, donde las dependencias se detectan solo una vez cuando el programador comienza a trabajar en el proyecto. [ 6 ]

Diseño

Automake está escrito en Perl y debe usarse con GNU Autoconf . [ 2 ] Automake contiene los siguientes comandos:

  • local
  • fabricación de automóviles

Sin embargo, aclocal es un programa de propósito general que puede resultar útil para los usuarios de autoconf. La Colección de Compiladores GNU (GCC), por ejemplo, utiliza aclocal aunque su archivo makefile esté escrito manualmente.

Al igual que Autoconf, Automake no es totalmente compatible con versiones anteriores . Por ejemplo, un proyecto creado con automake 1.13 no necesariamente funcionará con automake 1.14. [ 7 ]

Véase también

  • script de configuración : script de shell para generar archivos de configuración de compilación en un entorno tipo Unix. 
  • Make (software) – Herramienta de automatización de compilación de software 

Referencias

  1. Karl Berry (26 de junio de 2025). "automake-1.18.1 lanzado [ estable ] " . Consultado el 26 de junio de 2025 .
  2. 1 2 "GNU Automake" . GNU . Fundación del Software Libre . 1 de octubre de 2021. Consultado el 26 de abril de 2024 .
  3. "Compilación de las bibliotecas GTK+" . Archivado del original el 26 de abril de 2024. Consultado el 26 de abril de 2024 .
  4. "XCircuit Compile and Install" . Consultado el 26 de abril de 2024 .
  5. "Manual de Automake: Seguimiento automático de dependencias" . GNU.org . Consultado el 26 de abril de 2024 .
  6. "Historial de Automake" . GNU.org . Consultado el 26 de abril de 2024 .
  7. "Re: ¿"make distclean" está roto?" . 16-07-2013 . Consultado el 26-04-2024 .

Fuentes

  • Vaughan, Gary V.; Elliston, Ben; Tromey, Tom (2000). GNU Autoconf, Automake y Libtool . Sams. ISBN 1-57870-190-2.
  • Sitio web oficialEdita esto en Wikidata
  • Versión en línea de The Goat Book, también conocido como Autobook , archivada el 20 de diciembre de 2010 en Wayback Machine.
  • Manual combinado para Automake y Autoconf
  • Página principal de Autotoolset