Le système de construction GNU, plus connu sous le nom d'Autotools, est une suite d'outils de programmation conçue pour faciliter la portabilité du code source vers de nombreux systèmes de type Unix. L'extension de fichier .am se rapporte spécifiquement aux fichiers Automake, qui servent de modèles pour la génération de Makefiles portables. Ces fichiers sont rédigés dans une syntaxe de haut niveau décrivant la structure du projet, notamment les fichiers sources, les en-têtes (headers) et les bibliothèques ou exécutables finaux. Lorsque l'outil automake est exécuté, il traite ces fichiers .am pour produire des fichiers Makefile.in. Par la suite, un script de configuration (configure), généré par Autoconf, utilise ces fichiers Makefile.in pour créer le Makefile définitif, parfaitement adapté à l'environnement spécifique du système de l'utilisateur. Ce processus en plusieurs étapes garantit que le logiciel peut être compilé et installé de manière cohérente sur diverses architectures matérielles et distributions de systèmes d'exploitation. Autotools prend en charge des tâches complexes telles que le suivi des dépendances, la compilation croisée (cross-compilation) et la gestion des chemins d'installation, des opérations qui exigeraient autrement un effort manuel considérable et une connaissance approfondie de chaque plateforme de la part du développeur. Il demeure aujourd'hui un standard incontournable dans la communauté open-source pour les projets développés en C et C++.