DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(automk14.info.gz) Complete

Info Catalog (automk14.info.gz) Examples (automk14.info.gz) Examples (automk14.info.gz) Hello
 
 3.1 A 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!
 
Info Catalog (automk14.info.gz) Examples (automk14.info.gz) Examples (automk14.info.gz) Hello
automatically generated byinfo2html