Алексей Махоткин

домашняя страница

Automake

Go to the first, previous, next, last section, table of contents.


Создание файла `Makefile.in’

Для создания всех файлов `Makefile.in’ пакета запустите программу automake в каталоге верхнего уровня без аргументов. automake автоматически найдет каждый файл `Makefile.am’ (сканируя `configure.in’; see section Сканирование файла `configure.in’) и сгенерирует соответствующий файл `Makefile.in’. Заметьте, что automake имеет более простое видение структуры пакета; он предполагает, что пакет имеет только один файл `configure.in’, расположенный в каталоге верхнего уровня. Если в вашем пакете имеется несколько файлов `configure.in’, то вам необходимо запустить automake в каждом из каталогов, где есть файл `configure.in’.

Также вы можете задать аргумент для automake; суффикс `.am’ добавляется к аргументу и результат используется как имя входного файла. В основном эта возможность используется для автоматической перегенерации устаревших файлов `Makefile.in’. Заметьте, что automake всегда должен запускаться из каталога верхнего уровня проекта, даже если необходимо перегенерировать `Makefile.in’ в каком-то из подкаталогов. Это необходимо, так как automake должен просканировать файл `configure.in’, а также потому, что automake в некоторых случаях изменяет свое поведение при обработке `Makefile.in’ в подкаталогах.

automake принимает следующие ключи командной строки:

`-a’
`–add-missing’
В некоторых ситуациях Automake требует наличия некоторых общих файлов; например, если в `configure.in’ выполняется макрос AC_CANONICAL_HOST, то требуется наличие файла `config.guess’. Automake распространяется с несколькими такими файлами; этот ключ заставит программу автоматически добавить к пакету отсутствующие файлы, если это возможно. В общем, если Automake сообщает вам, что какой-то файл отсутствует, то используйте этот ключ. По умолчанию Automake пытается создать символьную ссылку на собственную копию отсутствующего файла; это поведение может быть изменено с помощью ключа –copy.
`–amdir=dir
Этот ключ заставляет Automake искать файлы данных в каталоге dir, а не в каталоге установки. Этот ключ обычно используется при отладке.
`–build-dir=dir
Сообщает Automake, где располагается каталог для сборки. Этот ключ используется при включении зависимостей в файл `Makefile.in’, сгенерированый командой make dist; он не должен использоваться в других случаях.
`-c’
`–copy’
При использовании с ключом –add-missing, заставляет копировать недостающие файлы. По умолчанию создаются символьные ссылки.
`–cygnus’
Заставляет сгенерированные файлы `Makefile.in’ следовать правилам Cygnus, вместо правил GNU или Gnits. Для дополнительной информации, смотрите section Эффект использования ключа –cygnus.
`–foreign’
Устанавливает глобальную строгость в значение `foreign’. За дополнительной информацией смотрите раздел section Строгость.
`–gnits’
Устанавливает глобальную строгость в значение `gnits’. За дополнительной информацией смотрите раздел section Эффект использования ключей –gnu и –gnits.
`–gnu’
Устанавливает глобальную строгость в значение `gnu’. За дополнительной информацией смотрите раздел section Эффект использования ключей –gnu и –gnits. По умолчанию используется именно такая строгость.
`–help’
Печатает список ключей командной строки и завершается.
`-i’
`–include-deps’
Включить всю автоматически генерируемую информацию о зависимостях (see section Автоматическое отслеживание зависимостей) в генерируемый файл `Makefile.in’. Это делается в основном при создании дистрибутива; смотрите раздел section Что войдет в дистрибутив.
`–generate-deps’
Создать файл, объединяющий всю автоматически генерируемую информацию о зависимостях (see section Автоматическое отслеживание зависимостей), этот файл будет называться `.dep_segment’. В основном этот ключ используется при создании дистрибутива; смотрите section Что войдет в дистрибутив. Он полезен при сопровождении `SMakefile’ или файлов `Makefile’ для других платформ (`Makefile.DOS’, и т. п.). Этот ключ может использоваться только с ключами `–include-deps’, `–srcdir-name’ и `–build-dir’. Заметьте, что если задан этот ключ, то никакой другой обработки не выполняется.
`–no-force’
Обычно automake создает все файлы `Makefile.in’, указанные в `configure.in’. Этот ключ заставляет обновлять только те файлы `Makefile.in’, которые устарели, с учетом зависимостей друг от друга.
`-o dir
`–output-dir=dir
Поместить сгенерированный файл `Makefile.in’ в каталог dir. Обычно каждый файл `Makefile.in’ создается в том же каталоге, что и соответствующий файл `Makefile.am’. Этот ключ используется при создании дистрибутивов.
`–srcdir-name=dir
Сообщает Automake имя каталога с исходными текстами текущего дистрибутива. Этот ключ используется при включении зависимостей в файл `Makefile.in’, сгенерированный командой make dist; он не должен использоваться в других случаях.
`-v’
`–verbose’
Заставляет Automake выдавать информацию о том, какие файлы читаются или создаются.
`–version’
Выдает номер версии Automake и завершается.


Go to the first, previous, next, last section, table of contents.

Comments