Давайте предположим, что мы только что закончили писать zardoz
--- программу, от которой у всех кружится голова. Вы использовали
Autoconf для обеспечения переносимости, но ваш файл `Makefile.in'
был написан бессистемно. Вы же хотите сделать его пуленепробиваемым, и
поэтому решаете использовать Automake.
Сначала вам необходимо обновить ваш файл `configure.in',
чтобы вставить в него команды, которые необходимы для работы
automake. Проще всего для этого добавить строку
AM_INIT_AUTOMAKE сразу после AC_INIT:
AM_INIT_AUTOMAKE(zardoz, 1.0)
Поскольку ваша программа не имеет никаких осложняющих факторов (например,
она не использует gettext и не будет создавать разделяемые
библиотеки), то первая стадия на этом и заканчивается. Это легко!
Теперь вы должны заново создать файл `configure'. Но для этого
нужно сказать autoconf, где найти новые макросы, которые вы
использовали. Для создания файла
`aclocal.m4' удобнее всего будет использовать программу
aclocal. Но будьте осторожны... у вас уже есть
`aclocal.m4', поскольку вы уже написали несколько собственных
макросов для вашей программы. Программа aclocal позволяет вам
поместить ваши собственные макросы в файл `acinclude.m4', так что
для сохранения вашей работы просто переименуйте свой файл с макросами, а
уж затем запускайте программу aclocal:
mv aclocal.m4 acinclude.m4 aclocal autoconf
Теперь пришло время написать свой собственный файл `Makefile.am' для
программы zardoz. Поскольку zardoz является
пользовательской программой, то вам хочется установить ее туда, где
располагаются другие пользовательские программы. Вдобавок,
zardoz содержит в комплекте документацию в формате Texinfo. Ваш скрипт
`configure.in' использует AC_REPLACE_FUNCS, так что вам
необходимо скомпоновать программу с `@LIBOBJS@'. Вот что вам
необходимо написать в `Makefile.am'.
bin_PROGRAMS = zardoz zardoz_SOURCES = main.c head.c float.c vortex9.c gun.c zardoz_LDADD = @LIBOBJS@ info_TEXINFOS = zardoz.texi
Теперь можно запустить automake --add-missing, чтобы создать файл
`Makefile.in', используя дополнительные файлы, и вот, все готово!
Go to the first, previous, next, last section, table of contents.