Автопроизводитель
![]() | |
Разработчик(и) | Проект GNU |
---|---|
Первоначальный выпуск | 28 мая 1996 г |
Стабильная версия | 1.17 [ 1 ] ![]() |
Репозиторий | |
Операционная система | Кросс-платформенный |
Тип | Инструмент программирования |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | www |
В разработке программного обеспечения GNU Automake — это инструмент программирования для автоматизации частей процесса компиляции. Это облегчает обычные проблемы компиляции. Например, он указывает на необходимые зависимости.
Он автоматически генерирует один или несколько файлов Makefile.in из файлов с именем Makefile.am . Каждый файл Makefile.am содержит, среди прочего, полезные определения переменных для скомпилированного программного обеспечения, такие как флаги компилятора и компоновщика , зависимости и их версии и т. д. Сгенерированные файлы " Makefile.in " переносимы и соответствуют соглашениям Makefile в Стандарты кодирования GNU и могут использоваться сценариями настройки для создания рабочего Makefile . [ 2 ]
Фонд свободного программного обеспечения поддерживает автопроизводитель как одна из программ GNU и как часть системы сборки GNU . Он используется для создания нескольких приложений и библиотек GNU, таких как GTK , [ 3 ] а также программное обеспечение, не принадлежащее GNU, такое как XCircuit . [ 4 ]
Процесс
[ редактировать ]
Целью Automake является предоставление программисту возможности писать make-файл на языке более высокого уровня вместо того, чтобы писать весь make-файл вручную. В простых случаях достаточно указать:
- Строка, в которой объявляется имя программы для сборки.
- Список исходных файлов
- Список параметров командной строки, которые будут переданы компилятору ( например, в каких каталогах будут найдены заголовочные файлы)
- Список параметров командной строки, которые необходимо передать компоновщику ( какие библиотеки нужны программе и в каких каталогах их можно найти).
Automake также автоматически генерирует информацию о зависимостях . [ 5 ] так что при изменении исходного файла при следующем вызове команды make будет известно, какие исходные файлы необходимо перекомпилировать. Если компилятор это позволяет, Automake пытается сделать систему зависимостей динамической: всякий раз, когда компилируется исходный файл, зависимости этого файла обновляются, запрашивая компилятор заново создать список зависимостей файла. Другими словами, отслеживание зависимостей — это побочный эффект процесса компиляции.
Это попытка избежать проблемы с некоторыми системами статических зависимостей, в которых зависимости обнаруживаются только один раз, когда программист начинает работать над проектом. [ 6 ]
Дизайн
[ редактировать ]Automake написан на Perl и должен использоваться с GNU Autoconf . [ 2 ] Automake содержит следующие команды:
- аклокальный
- автопроизводитель
Однако aclocal — это программа общего назначения, которая может быть полезна пользователям autoconf. aclocal , Например, коллекция компиляторов GNU (GCC) использует хотя ее make-файл написан вручную.
Как и Autoconf, Automake не полностью обратно совместим . Например, проект, созданный с помощью automake 1.13, не обязательно будет работать с automake 1.14. [ 7 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Джим Мейеринг (11 июля 2024 г.). "automake-1.17 выпущен [стабильный]" . Проверено 12 июля 2024 г.
- ^ Перейти обратно: а б «GNU Automake» . ГНУ . Фонд свободного программного обеспечения . 01.10.2021 . Проверено 26 апреля 2024 г.
- ^ «Компиляция библиотек GTK+» . Проверено 26 апреля 2024 г.
- ^ «Компиляция и установка XCircuit» . Проверено 26 апреля 2024 г.
- ^ «Руководство Automake — автоматическое отслеживание зависимостей» . GNU.org . Проверено 26 апреля 2024 г.
- ^ «История автопроизводителя» . GNU.org . Проверено 26 апреля 2024 г.
- ^ "Re: "make distclean" не работает?" . 16 июля 2013 г. Проверено 26 апреля 2024 г.
Источники
[ редактировать ]- Воган, Гэри В.; Эллистон, Бен; Троми, Том (2000). GNU Autoconf, Automake и Libtool . Сэмс. ISBN 1-57870-190-2 .