- Automake linux что это
- Table of Contents
- Downloads
- Documentation
- Mailing Lists
- Getting involved
- Bug Reports
- Automake
- Официальная ссылка
- Содержание Automake
- Программы
- Описания
- acinstall
- aclocal, aclocal-1.6
- automake, automake-1.6
- compile
- config.guess
- config.sub
- depcomp
- elisp-comp
- install-sh
- mdate-sh
- missing
- mkinstalldirs
- py-compile
- ylwrap
- Зависимости Automake
- Национальная библиотека им. Н. Э. Баумана Bauman National Library
- Персональные инструменты
- GNU Automake
- Содержание
- Свойства и работа Automake
- Разработка
- Использование GNU Autotools. Создание своего скрипта configure и файла Makefile
- Содержание
- Описание
- Написание программы
- Создание configure.in
- Создание Makefile.am и src/Makefile.am
Automake linux что это
GNU Automake is a tool for automatically generating Makefile.in files compliant with the GNU Coding Standards. Automake requires the use of GNU Autoconf.
Table of Contents
Downloads
Please note that Automake 1.12.2 and Automake 1.11.6 fix a security issue (CVE-2012-3386) present in the make distcheck rules of all packages using Automake. More information.
- Stable releases are available on the main GNU download server (HTTPS, HTTP, FTP) and its mirrors. Please use a mirror if possible.
- Unstable versions (DO NOT use in production):
The latest development sources can be fetched through git from Savannah.
Alpha/beta releases can be found on the GNU “alpha” server (HTTPS, HTTP, FTP) and its mirrors.
Documentation
The Automake manual can be read in HTML or PDF; other formats are also available. If you have installed Automake on your system, you may also find more information about it by looking at your local documentation; for example, you might run info automake at the shell prompt.
For anyone interested, a brief history of Automake (up to roughly 2007) is available; again, other formats are available.
Mailing Lists
Automake has several public mailing lists, each of which is archived.
- For general Automake discussions, use (archives and subscription).
- If you have a patch for Automake, please send it to (archives and subscription). The HACKING file in the Automake source repository explains how to prepare, format and post a patch.
- Bug reports can be emailed to (archives and subscription). Before submitting a bug report, please read the Bug Reporting section of the manual.
- All commits to the repository are automatically mailed to (archives and subscription).
You can subscribe to any Automake mailing list via the associated web interfaces, linked above. Or you can send an empty mail with a Subject: header line of just “subscribe” to the corresponding -request address.
Getting involved
Development of Automake, and GNU in general, is a volunteer effort, and your contribution would be welcome. For general information, please read How to help GNU. If you’d like to get involved with Automake, it’s a good idea to join the discussion mailing list (see above).
Development For consolidated development information, please see the Automake project page at savannah.gnu.org.
There are numerous longstanding bugs in the Automake bug tracker which need attention. (They are tagged “confirmed”. Help with any of the other outstanding bugs is welcome also.) If you have time and inclination, please pick any and give it a whirl; no one is working on them. The HACKING file in the repository gives information about getting started with the development sources. Thanks!
Maintainer Automake is currently maintained by Jim Meyering. Please use the mailing lists for contact.
Bug Reports
For bugs in Automake, please see the Bug Reporting section of the manual.
Automake depends on other projects; it’s best for everyone if bug reports are directed to the correct place. To cite two common cases: 1) if your bug is in Autoconf ( AC_* or AS_* macros), please see the Savannah page for Autoconf; 2) if your bug is in the config.guess or config.sub scripts, please email config-patches@gnu.org. Thanks.
“The Free Software Foundation (FSF) is a nonprofit with a worldwide mission to promote computer user freedom. We defend the rights of all software users.”
Please send general FSF & GNU inquiries to . There are also other ways to contact the FSF. Broken links and other corrections or suggestions can be sent to .
Please see the Translations README for information on coordinating and contributing translations of this article.
Copyright © 1997-2020 Free Software Foundation, Inc.
Источник
Automake
Официальная ссылка
Automake (1.6.3):
ftp://ftp.gnu.org/gnu/automake/
Содержание Automake
Последняя проверка: версия 1.6.2.
Программы
acinstall, aclocal, aclocal-1.6, automake, automake-1.6, compile, config.guess, config.sub, depcomp, elisp-comp, install-sh, mdate-sh, missing, mkinstalldirs, py-compile, ylwrap
Описания
acinstall
acinstall — сценарий, устанавливающий файлы aclocal-style M4.
aclocal, aclocal-1.6
automake включает несколько макросов autoconf, используемых в пакетах, часть которых необходима automake в ряде случаев. Эти макросы должны быть определены в aclocal.m4, иначе autoconf не сможет их использовать.
aclocal program автоматически создаст aclocal.m4, основываясь на содержимом configure.in. Это дает возможность получения предоставленных automake макросов без их поиска. Также. механизм aclocal расширяем для использования другими пакетами.
automake, automake-1.6
Для создания всех файлов Makefile.in пакета, запустите automake в каталоге верхнего уровня без параметров. automake найдет все соответствующие Makefile.am (просматривая configure.in) и создаст Makefile.in.
compile
compile — cценарий-обертка для компиляторов.
config.guess
config.guess — сценарий, определяющий каноническое имя системы.
config.sub
config.sub — скрипт проверки конфигурации.
depcomp
depcomp — cкрипт, компилирующий программу вместе с генерацией зависимостей.
elisp-comp
elisp-comp — скрипт для байт-компиляции файлов .el.
install-sh
install-sh — скрипт, устанавливающий программу, скрипт или файл данных.
mdate-sh
mdate-sh — скрипт, выводящий время изменения файла или каталога.
missing
missing — заменяющий некоторые отсутствующие программы GNUво время инсталляции.
mkinstalldirs
mkinstalldirs — скрипт для иерархической сборки каталога.
py-compile
py-compile — скрипт, собирающий программу на Python.
ylwrap
ylwrap — скрипт-обертка для вызовов lex/yacc.
Зависимости Automake
Последняя проверка: версия 1.5.
Bash: sh
Diffutils: cmp
Fileutils: chmod, install, ls, mkdir, mv, rm, rmdir
Grep: fgrep, grep
Make: make
Perl: perl
Sed: sed
Sh-utils: echo, expr, hostname, sleep
Texinfo: install-info
Textutils: cat, tr
Источник
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
GNU Automake
Разработчики: | GNU Project |
---|---|
Выпущена: | 28 May 1996 года ; 25 years ago ( 1996-05-28 ) |
Постоянный выпуск: | 1.14.1 / 24 December 2013 года ; 7 years ago ( 2013-12-24 ) |
Состояние разработки: | Active |
Написана на: | Perl |
Операционная система: | Кросс-платформенное |
Тип ПО: | Инструментальное программное обеспечение |
Лицензия: | GNU GPL |
Веб-сайт | gnu .org /software /automake / |
В разработке программного обеспечения GNU Automake является инструментом программирования для автоматизации части процесса компиляции. Тем самым уменьшаются обычные проблемы при компиляции. Например, Automake указывает на необходимые зависимости.
Данная утилита автоматически создает один или несколько Makefile.in из файлов Makefile.am. Каждый Makefile.am содержит, помимо всего прочего, нужные определения переменных для скомпилированного программного обеспечения, такого как компилятор и компоновщик флагов, их зависимости и версии и т.д. Сгенерированные файлы Makefile.in являются портативными и соответствуют условиям стандартов кодирования GNU для make-файлов. И могут быть использованы с помощью скриптов конфигурации для создания рабочего make-файла. [1]
Фонд свободного программного обеспечения поддерживает Automake в качестве одной из программ GNU, а также в рамках системы сборки GNU. Он используется для создания нескольких приложений GNU и библиотек, таких как GTK+, [2] а также для не-GNU программного обеспечения, такого как XCircuit. [3]
Содержание
Свойства и работа Automake
Automake стремится позволить программисту написать файл сборки на языке высокого уровня, вместо того, чтобы писать его весь вручную. В простых случаях достаточно указать:
- Строку, объявляющую название программы для построения
- Список исходных файлов
- Список параметров командной строки, которые должны быть переданы компилятором (например, в каких директориях будут найдены файлы заголовков)
- Список параметров командной строки, которые должны быть переданы компоновщику (какие библиотеки нужны программе и в каких директориях они должны быть найдены)
Исходя из этой информации, Automake создает make-файл, который позволяет пользователю:
- Компилировать программы
- Чистить (т.е. удалять файлы в результате компиляции)
- Устанавливать программу в стандартные директории
- Удалять программу оттуда, куда она была установлена
- Создавать архив распределения источников (обычно называемый tarball)
- Проверка того, что этот архив является самостоятельным и, в частности, что программа может быть скомпилирована в директории, отличной от той, где находятся источники
Automake также заботится об автоматической генерации информации о зависимостях, так что, когда исходный файл был изменен, следующий вызов команды будет знать, какие исходные файлы должны быть перекомпилированы. Если компилятор позволяет сделать это, то Automake пытается сделать систему зависимостей — динамической: всякий раз, когда исходный файл компилируется, его зависимости обновляются с запросом компилятора на восстановление списка зависимостей файла. Другими словами, отслеживание зависимостей является побочным эффектом процесса компиляции.
Это попытка избежать проблемы с некоторыми системами статических зависимостей, где зависимости обнаруживаются только один раз, когда программист начинает работать над проектом. В таком случае, если исходный файл получает новую зависимость (например, если программист добавляет новую директиву #include в исходном файле C), то вводится расхождение между реальными зависимостями и теми, которые используются системой компиляции. Программист должен затем восстановить зависимости, но рискует забыть сделать это.
В общем случае, Automake генерирует зависимости посредством прилагаемого depcomp скрипта, который будет вызывать компилятор надлежащим образом или возвращаться к makedepend. Даже если версия GCC компилятора является достаточно последней, не смотря на это, Automake будет встраивать код генерации зависимостей для вызова GCC напрямую.
Automake также может помочь с составлением библиотек путем автоматической генерации make-файлов, которые будут ссылаться на GNU Libtool. Программист, таким образом, освобождается от необходимости знать, как вызвать Libtool напрямую, а проект получает выгоду от использования портативного инструмента для создания библиотеки.
Разработка
Automake написан на Perl и должен быть использован с GNU Autoconf. Automake содержит следующие команды:
ACLOCAL это программа общего назначения, которая может быть полезной для пользователей AUTOCONF. GNU Compiler Collection, например, использует ACLOCAL хотя его Makefile написаны вручную.
Automake имеет проблемы с работой проектов на разных версиях. Например, проект, созданный с Automake 1.13 не обязательно будет работать с Automake 1.14. [4]
Источник
Использование GNU Autotools. Создание своего скрипта configure и файла Makefile
Содержание
Необходимые пакеты |
---|
autoconf |
automake |
Описание
Написание программы
Прежде чем разбираться с вопросом автоматизации сборки своей копии программы “hello, world!” будьте уверены, что вы можете её написать. В любом случае, вот вам пример этой программы на языке Си:
Создание configure.in
Нужно создать файл configure.in, поместив в него необходимые макросы autoconf. После создания этого файла необходимо запустить http://ru.wikipedia.org/wiki/Autoconf для того чтобы сгенерировать скрипт configure.
Те, кто внимательно прочитал всю, или хотя бы бОльшую часть мануала (см. раздел Ссылки), без особых усилий смогут самостоятельно создать configure.in. Для таких же новичков как мы была создана программа autoscan, которая сканирует текущий каталог и создаёт заготовку для будущего configure.in файла. После запуска autoscan найдите в текущем каталоге файл configure.scan
Вот пример configure.scan, который получился у меня:
Переименуйте этот файл в configure.in и отредактируйте.
Все строчки, начинающиеся со знака # являются комментариями. Все комментарии такого вида попадут в генерируемый configure скрипт в неизменном виде. Если же вы хотите, чтобы ваши комментарии не встречались где-либо за рамками configure.in файла, то используйте встроенный макрос m4 — dnl, «который отбрасывает текст вплоть до начала новой строки».
Первым макросом идёт AC_PREREQ. Он указывает, что требуется autoconf версии 2.59 и никак не меньше. В случае, если мы попытаемся создать configure скрипт с помощью autoconf более младшей версии мы получим ошибку.
Любой configure.in должен начинаться с макроса AC_INIT и заканчиваться макросом AC_OUTPUT. В качестве аргументов AC_INIT принимает название программы, её версию, и, как необязательный аргумент, ваш email-адрес, куда пользователи смогут отправлять отчеты об ошибках.
Более подробное описание для всех этих макросов вы можете найти в разделе ссылок внизу 1) .
После всех правок я получил следующий configure.in:
Теперь запустите программу autoconf, а после получившийся configure скрипт:
Создание Makefile.am и src/Makefile.am
Но работающего скрипта configure недостаточно. Наша цель, чтобы программа также собиралась по команде make и устанавливалась по make install. За это отвечает уже automake. Для него нам потребуется создать два файла: корневой Makefile.am и Makefile.am для каталога src/, в котором и должен располагаться файл hello.c
Для нашей программы они очень простые:
SUBDIRS сообщает make’у о каталоге src, в который обязательно необходимо «заглянуть»
Источник