Предположим, что мы только что закончили писать программу zardoz
.
Вы использовали Autoconf
для обеспечения
переносимости, но ваш файл `Makefile.in'
написан бессистемно.
Вы же хотите сделать его "пуленепробиваемым", и поэтому решаете использовать
Automake
.
Сначала вам необходимо обновить ваш файл `configure.in'
, чтобы вставить
в него команды, которые необходимы для работы Automake
. Проще всего
для этого добавить строку AM_INIT_Automake
сразу после ACINIT
:
AM_INIT_Automake(zardoz, 1.0)
AM_INIT_Automake
...
Поскольку ваша программа не имеет никаких осложняющих факторов (например,
она не использует 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'
использует ACREPLACEFUNCS
,
поэтому вам необходимо скомпоновать программу с `@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', используя дополнительные файлы.