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

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

Automake

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


Различные правила

Существует несколько правил и переменных, которые не вписываются ни в какую категорию:

Взаимодействие с etags

Automake генерирует правила для создания файлов `TAGS’, которые в некоторых обстоятельствах могут использоваться в GNU Emacs.

Если присутствует любой исходный код или заголовочный файл на C, C++ или Fortran 77, то для каталога будут созданы цели tags и TAGS.

В каталоге верхнего уровня пакета, состоящего из нескольких каталогов цель tags создаст файл, при выполнении которого будет создан файл `TAGS’, включающий все файлы `TAGS’ из подкаталогов.

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

Вот как Automake создает тэги для своих исходных файлов, а также для узлов файла Texinfo:

ETAGS_ARGS = automake.in –lang=none \
 –regex=’/^@node[ \t]+\([^,]+\)/\1/’ automake.texi

Если вы добавили имена файлов к переменной `ETAGS_ARGS’, то вы, скорее всего, захотите установить переменную `TAGS_DEPENDENCIES’. Содержимое этой переменной будет полностью добавлено к зависимостям цели tags.

Automake также сгенерирует цель ID, которая будет запускать программу mkid на исходных файлах. Эта цель поддерживается только для отдельных каталогов.

Обработка новых расширений файлов

Иногда полезно ввести новое неявное правило для обработки новых типов файлов, о которых Automake ничего не знает. Если вы сделали это, то нужно уведомить GNU Make о новых суффиксах. Это можно сделать, поместив список суффиксов в переменную `SUFFIXES’.

Например, в настоящее время Automake не обеспечивает никакой поддержки Java. Если вы напишете макрос для генерации файлов `.class’ из файлов с исходными текстами `.java’, то вы также должны добавить эти суффиксы в список:

SUFFIXES = .java .class


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

Comments