GNU Build System, широко известный как Autotools, представляет собой набор инструментов для программирования, предназначенный для обеспечения переносимости исходного кода пакетов на многие Unix-подобные системы. Расширение файла .am конкретно относится к файлам Automake, которые служат шаблонами для генерации переносимых файлов Makefile. Эти файлы написаны на синтаксисе высокого уровня, который описывает структуру проекта, включая исходные файлы, заголовочные файлы и целевые исполняемые файлы или библиотеки. Когда выполняется инструмент automake, он обрабатывает эти файлы .am для создания файлов Makefile.in. Впоследствии скрипт configure, сгенерированный Autoconf, использует эти файлы Makefile.in для создания окончательного Makefile, адаптированного к специфической среде системы пользователя. Этот многоэтапный процесс гарантирует, что программное обеспечение может быть скомпилировано и установлено согласованно на различных аппаратных архитектурах и дистрибутивах операционных систем. Autotools обрабатывает сложные задачи, такие как отслеживание зависимостей, кросс-компиляция и пути установки, которые в противном случае потребовали бы значительных ручных усилий и специфических для платформы знаний от разработчика. Он остается стандартом в сообществе открытого исходного кода для проектов на C и C++.