[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

13. Что войдет в дистрибутив

Цель dist, создаваемая в генерируемом файле `Makefile.in', может быть использована для создания сжатого файла tar с дистрибутивом. Имя tar-файла основывается на переменных `PACKAGE' и `VERSION'; а точнее, он называется `package-version.tar.gz'. Вы можете использовать переменную make с именем `GZIP_ENV' для того, чтобы управлять запуском gzip. Значением по умолчанию является строка `--best'.

В большинстве случаев файлы, необходимые для дистрибутива, автоматически находятся Automake: все файлы исходных текстов автоматически включаются в состав дистрибутива, так же как и все файлы `Makefile.am' и `Makefile.in'. Automake также имеет встроенный список часто используемых файлов, которые автоматически включаются в состав дистрибутива, если они существуют в текущем каталоге. Этот список показывается при выполнении `automake --help'. Также автоматически включаются файлы, которые читает программа configure (например, файлы исходных текстов, относящиеся к файлам, указанным при запуске макроса AC_OUTPUT).

Все равно, иногда существуют файлы, которые должны входить в состав дистрибутива, но которые не смогли попасть в автоматически созданный список. Эти файлы должны быть перечислены в переменной EXTRA_DIST. Вы можете указывать в переменной EXTRA_DIST файлы из подкаталогов. Вы можете также указывать каталоги: в этом случае весь каталог будет рекурсивно скопирован в дистрибутив.

Если вы определили переменную SUBDIRS, то Automake будет рекурсивно включать подкаталоги в состав дистрибутива. Если SUBDIRS определен условно (see section 18. Условные операторы), то Automake включит в дистрибутив все подкаталоги, которые могут появиться в SUBDIRS. Если вам необходимо указать список каталогов условно, то вы можете задать в переменной DIST_SUBDIRS точный список подкаталогов, которые необходимо включить в дистрибутив.

Время от времени полезно иметь возможность изменить дистрибутив до того, как он будет упакован. Если существует цель dist-hook, то она запускается после создания каталога с дистрибутивом, но до того, как создается файл `.tar' (или `.shar'). Это применяется для распространения файлов из подкаталогов, в которых было бы избыточным создавать файл `Makefile.am':

 
dist-hook:
        mkdir $(distdir)/random
        cp -p $(srcdir)/random/a1 $(srcdir)/random/a2 $(distdir)/random

Automake также создает цель distcheck, которая может помочь убедиться в том, что дистрибутив работает. distcheck создает дистрибутив и пытается его построить с помощью VPATH.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated on February, 19 2004 using texi2html