automake - Когда не хватает возможностей Automake

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


Когда не хватает возможностей Automake

Неявная семантика копирования Automake означает, что много проблем может быть решено простым добавлением некоторых целей для make и правил для `Makefile.in'. Automake будет игнорировать эти добавления.

Есть некоторые предостережения для этих работ. Хотя вы можете переопределить цели, уже используемые Automake, но часто это просто неразумно, особенно в каталоге верхнего уровня пакета не относящегося к типу flat. Однако, вы можете указать в вашем файле `Makefile.in' различные полезные цели, имеющие суффикс `-local'. Automake дополнит стандартные цели этими целями пользователя.

К целям, поддерживающим локальную версию относятся: all, info, dvi, check, install-data, install-exec, uninstall и разные цели clean (mostlyclean, clean, distclean и maintainer-clean). Заметьте, что в этом списке нет целей uninstall-exec-local или uninstall-data-local; есть только uninstall-local. Это не имеет значения для удаления только данных или исполняемых файлов.

Например, вот один из способов установить файл в каталог `/etc':

install-data-local:
        $(INSTALL_DATA) $(srcdir)/afile /etc/afile

Некоторые цели также имеют способ запускать другие цели после выполнения всех своих действий, это называется ловушка (hook). Ловушка называется по имени цели, с добавлением суффикса `-hook'. Целями, разрешающими использование ловушек являются install-data, install-exec, dist и distcheck.

Например, вот как создать жесткую ссылку на установленную программу:

install-exec-hook:
        ln $(bindir)/program $(bindir)/proglink


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