El GNU Build System, comúnmente conocido como Autotools, es un conjunto de herramientas de programación diseñado para ayudar a hacer que los paquetes de código fuente sean portables a muchos sistemas tipo Unix. La extensión de archivo .am se refiere específicamente a los archivos Automake, que sirven como plantillas para generar Makefiles portables. Estos archivos están escritos en una sintaxis de alto nivel que describe la estructura del proyecto, incluyendo archivos fuente, cabeceras y los ejecutables o librerías objetivo. Cuando se ejecuta la herramienta 'automake', procesa estos archivos .am para crear archivos Makefile.in. Posteriormente, un script 'configure' —generado por Autoconf— utiliza estos archivos Makefile.in para producir el Makefile final adaptado al entorno específico del sistema del usuario. Este proceso de múltiples etapas asegura que el software pueda compilarse e instalarse consistentemente a través de diversas arquitecturas de hardware y distribuciones de sistemas operativos. Autotools maneja tareas complejas como el seguimiento de dependencias, la compilación cruzada (cross-compilation) y las rutas de instalación, lo que de otro modo requeriría un esfuerzo manual significativo y conocimiento específico de la plataforma por parte del desarrollador. Sigue siendo un estándar en la comunidad de código abierto para proyectos en C y C++.