O GNU Build System, comumente conhecido como Autotools, é um conjunto de ferramentas de programação projetado para auxiliar na portabilidade de pacotes de código-fonte para muitos sistemas do tipo Unix. A extensão de arquivo .am refere-se especificamente aos arquivos Automake, que servem como modelos para gerar Makefiles portáteis. Estes arquivos são escritos em uma sintaxe de alto nível que descreve a estrutura do projeto, incluindo arquivos de código-fonte, cabeçalhos e os executáveis ou bibliotecas alvo. Quando a ferramenta automake é executada, ela processa esses arquivos .am para criar arquivos Makefile.in. Subsequentemente, um script configure — gerado pelo Autoconf — utiliza esses arquivos Makefile.in para produzir o Makefile final, adaptado ao ambiente específico do sistema do usuário. Este processo de múltiplas etapas garante que o software possa ser compilado e instalado de forma consistente em diversas arquiteturas de hardware e distribuições de sistemas operacionais. O Autotools gerencia tarefas complexas como rastreamento de dependências, compilação cruzada (cross-compilation) e caminhos de instalação, o que de outra forma exigiria um esforço manual significativo e conhecimento específico da plataforma por parte do desenvolvedor. Ele permanece um padrão na comunidade de código aberto para projetos em C e C++.