Ответ 1
В проекте autoconf
/automake
/libtool
вы должны вызвать:
-
libtoolize
: это копирует/связывает несколько скриптов поддержки, включаяltmain.sh
(который является основным компонентом libtool). -
aclocal
: это ищет все макросы m4, которые потребуются вашей конфигурации script, и сделать локальную копию для облегчения доступа. -
autoheader
: необязательно, если вы хотите использоватьconfig.h
/AC_CONFIG_HEADERS
, в противном случае все макросы результата теста будут вставляться при вызове компилятора. -
autoconf
: чтобы развернуть все макросы, используемыеconfigure.ac
, вconfigure
script. -
automake
: преобразовать все шаблоныMakefile.am
вMakefile.in
. Вероятно, вы хотите вызвать это с помощью--add-missing
, поэтому дополнительные скрипты поддержки могут быть связаны/скопированы в ваш проект (например,compile
,missing
,depcomp
,test-driver
и т.д.).
Скорее всего, вы захотите добавить bootstrap
script к каждому из ваших проектов, который вызывает все эти инструменты в этом порядке. Или вы можете быть ленивым и просто вызывать autoreconf -i
и посмотреть, работает ли это для вашего проекта.
После (и while) у вас работает Makefile
, сгенерированный configure script, autotools сам по себе заботится; то есть, если вы отредактируете configure.ac
или любой Makefile.am
, правильные инструменты выше будут снова вызваны, чтобы все было обновлено, просто запустив make
. Просто будьте осторожны, чтобы не создавать синтаксическую ошибку в файлах Makefile.am
, иначе вы можете сломать Makefile
s, в результате чего make
откажется от запуска - в этом случае вам нужно запустить bootstrap
script (или autoreconf
) вручную.
EDIT:
automake manual говорит об aclocal:
aclocal
, как ожидается, исчезнет.
И далее вниз:
С точки зрения пользователя удаление
aclocal
может оказаться болезненным. Существует простая предосторожность, которую вы можете предпринять, чтобы сделать этот коммутатор более плавным: никогда не вызывайте aclocal самостоятельно. Держите этого парня под эксклюзивным контролем правилautoreconf
и Automakes.
Итак, у вас есть: используйте autoreconf -i
, чтобы быть надежным в будущем, если у вас нет оснований для непосредственного использования этих инструментов.