Copyright (C) 2000-2012 |
GNU Info (automake.info)CompleteA simple example, start to finish ================================= Let's suppose you just finished writing `zardoz', a program to make your head float from vortex to vortex. You've been using Autoconf to provide a portability framework, but your `Makefile.in's have been ad-hoc. You want to make them bulletproof, so you turn to Automake. The first step is to update your `configure.in' to include the commands that `automake' needs. The simplest way to do this is to add an `AM_INIT_AUTOMAKE' call just after `AC_INIT': AM_INIT_AUTOMAKE(zardoz, 1.0) Since your program doesn't have any complicating factors (e.g., it doesn't use `gettext', it doesn't want to build a shared library), you're done with this part. That was easy! Now you must regenerate `configure'. But to do that, you'll need to tell `autoconf' how to find the new macro you've used. The easiest way to do this is to use the `aclocal' program to generate your `aclocal.m4' for you. But wait... you already have an `aclocal.m4', because you had to write some hairy macros for your program. The `aclocal' program lets you put your own macros into `acinclude.m4', so simply rename and then run: mv aclocal.m4 acinclude.m4 aclocal autoconf Now it is time to write your `Makefile.am' for `zardoz'. Since `zardoz' is a user program, you want to install it where the rest of the user programs go. Additionally, `zardoz' has some Texinfo documentation. Your `configure.in' script uses `AC_REPLACE_FUNCS', so you need to link against `@LIBOBJS@'. So here's what you'd write: bin_PROGRAMS = zardoz zardoz_SOURCES = main.c head.c float.c vortex9.c gun.c zardoz_LDADD = @LIBOBJS@ info_TEXINFOS = zardoz.texi Now you can run `automake --add-missing' to generate your `Makefile.in' and grab any auxiliary files you might need, and you're done! automatically generated by info2www version 1.2.2.9 |