Automake - Automake

Automake
Heckert GNU white.svg
Разработчики) Проект GNU
Первый выпуск 28 мая 1996 г . ; 25 лет назад ( 1996-05-28 )
Стабильный выпуск
1.16.4 / 26 июля 2021 г . ; 40 дней назад ( 2021-07-26 )
Репозиторий
Операционная система Кроссплатформенность
Тип Инструмент программирования
Лицензия Стандартная общественная лицензия GNU
Веб-сайт www .gnu .org / software / automake / Отредактируйте это в Викиданных

В разработке программного обеспечения , GNU Automake является инструментом программирования для автоматизации части процесса компиляции. Это облегчает обычные проблемы компиляции. Например, он указывает на необходимые зависимости.

Он автоматически создает один или несколько файлов Makefile.in из файлов с именем Makefile.am . Каждый файл Makefile.am содержит, помимо прочего, полезные определения переменных для скомпилированного программного обеспечения, такие как флаги компилятора и компоновщика , зависимости и их версии и т. Д. Сгенерированные файлы « Makefile.in » переносимы и соответствуют соглашениям Makefile в Стандарты кодирования GNU и могут использоваться сценариями конфигурации для создания рабочего файла Makefile .

Фонд свободного программного обеспечения поддерживаетавтопроизводителькак одна из программ GNU и как часть системы сборки GNU . Он используется для создания нескольких приложений и библиотек GNU, таких как GTK , а также программного обеспечения, отличного от GNU, например XCircuit .

Процесс

Блок-схема autoconf и automake

Automake стремится позволить программисту писать make-файл на языке более высокого уровня, вместо того, чтобы писать весь make-файл вручную. В простых случаях достаточно дать:

  • Строка, в которой объявляется имя программы для сборки.
  • Список исходных файлов
  • Список параметров командной строки, которые необходимо передать компилятору (например, в каких каталогах будут находиться файлы заголовков)
  • Список параметров командной строки, которые необходимо передать компоновщику (какие библиотеки нужны программе и в каких каталогах они должны быть найдены)

Automake также автоматически генерирует информацию о зависимостях , так что при изменении исходного файла при следующем вызове команды make будет известно, какие исходные файлы необходимо перекомпилировать. Если компилятор позволяет это, Automake пытается сделать систему зависимостей динамической: всякий раз, когда исходный файл компилируется, зависимости этого файла обновляются, запрашивая компилятор повторно создать список зависимостей файла. Другими словами, отслеживание зависимостей - это побочный эффект процесса компиляции.

Это пытается избежать проблемы с некоторыми системами статических зависимостей, где зависимости обнаруживаются только один раз, когда программист начинает работать над проектом.

Дизайн

Automake написан на Perl и должен использоваться с GNU Autoconf . Automake содержит следующие команды:

  • местный
  • автопроизводитель

aclocal - это программа общего назначения, которая может быть полезна пользователям autoconf. GNU Compiler Collection (GCC), например, использует ACLOCAL , даже если его Makefile написана рука.

Как и Autoconf, Automake не полностью обратно совместим . Например, проект, созданный с помощью automake 1.13, не обязательно будет работать с automake 1.14.

Смотрите также

использованная литература

Источники

  • Vaughan, Gary V .; Эллистон, Бен; Тромей, Том (2000). GNU Autoconf, Automake и Libtool . Sams. ISBN 1-57870-190-2.

внешние ссылки