automake

Инструмент для автоматической генерации переносимых Makefile-файлов в соответствии со стандартами GNU Coding Standards. Он работает совместно с autoconf, позволяя разработчикам описывать структуру сборки проекта на высоком уровне абстракции, после чего automake преобразует эти описания в подробные и корректные Makefile-файлы. Automake берет на себя рутинные аспекты создания Makefile, такие как поддержка стандартных целей (all, install, dist, clean), установка зависимостей и правил пересборки, что значительно упрощает процесс создания переносимого программного обеспечения.

Особенности

  • автоматическая генерация переносимых Makefile из высокоуровневого описания;
  • поддержка стандартных целей сборки, установки и дистрибуции в соответствии с GNU Coding Standards;
  • интеграция с autoconf для создания полностью настраиваемой системы сборки;
  • поддержка сборки программ, библиотек, скриптов и данных из единого описания;
  • автоматическое управление зависимостями и правилами пересборки.

Основные компоненты

Automake предоставляет набор макросов и шаблонов для описания структуры проекта и автоматической генерации Makefile (подробнее с документацией можно ознакомиться здесь):

Основные исполняемые программы

Ключевые утилиты automake, используемые в процессе создания системы сборки:

  • automake — генерирует файлы Makefile.in из Makefile.am; обрабатывает все Makefile.am в проекте и создает соответствующие Makefile.in, которые затем используются скриптом configure для создания окончательных Makefile;
  • aclocal — хотя и является частью automake, эта утилита собирает макросы из установленных пакетов и создает файл aclocal.m4, который затем используется autoconf и automake; обеспечивает доступ к макросам, определенным в automake и других пакетах.

Файлы описания проекта

Automake использует специальные файлы для описания структуры и параметров сборки проекта:

  • Makefile.am — файлы описания сборки для automake; содержат высокоуровневое описание целей сборки (программы, библиотеки, данные), которые automake преобразует в подробные Makefile.in;
  • configure.ac (или configure.in) — хотя это файл для autoconf, он содержит макросы, необходимые для работы automake, такие как AM_INIT_AUTOMAKE;
  • aclocal.m4 — файл с макросами, собранными утилитой aclocal, включая макросы automake.

Интеграция с autoconf и libtool

Automake тесно интегрируется с другими инструментами GNU Build System:

  • autoconf — automake полагается на скрипт configure, сгенерированный autoconf, для подстановки значений переменных в Makefile;
  • libtool — automake может использовать libtool для сборки и установки разделяемых библиотек единообразным образом на разных платформах;
  • pkg-config — часто используется в сочетании с automake для получения флагов компиляции и линковки для внешних библиотек.

Процесс работы и генерируемые файлы

Типичный процесс использования automake в проекте включает следующие шаги:

  1. Создание файлов Makefile.am для каждого подкаталога проекта с описанием целей сборки;
  2. Добавление макроса AM_INIT_AUTOMAKE в configure.ac;
  3. Запуск aclocal для сбора макросов в aclocal.m4;
  4. Запуск autoconf для создания скрипта configure из configure.ac;
  5. Запуск automake --add-missing для создания Makefile.in файлов и копирования вспомогательных скриптов (таких как install-sh, depcomp);
  6. Пользователь запускает ./configure для создания окончательных Makefile из Makefile.in;
  7. Пользователь запускает make для сборки проекта.

Использование в проекте

Документация по использованию Conan-пакетов для разработки приложений для ОС Аврора.

На сервере Conan библиотеки заранее собраны и размещены под различные версии ОС Аврора 4 и ОC Аврора 5. Для данных версий представлены архитектуры armv7hl, aarch64 и x84_64.

Библиотеку можно использовать в проекте с помощью данного conanfile.py

from conan import ConanFile

class Application(ConanFile):
    settings = "os", "compiler", "arch", "build_type"
    generators = "PkgConfigDeps"

    requires = (
        "automake/1.16.5@aurora",
    )    

Процесс локальной сборки описан в документации.

automake

Версия
Домашняя страница
Скачать
package
390.67 Kb
MD5: 67e0142edea3fe72e4c7db3aed81ec85
Updated: 04.09.2025, 09:20:15
Использование в проекте

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.