next up previous contents
Next: Классический ``Hello, world'' Up: Примеры Previous: Примеры   Contents

Простой пример (от начала до конца)

Предположим, что мы только что закончили писать программу 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', используя дополнительные файлы.



2004-06-22