\chapentry{Introduction}{1}{1} \chapentry{General ideas}{2}{1} \secentry{General Operation}{2}{1}{1} \secentry{Depth}{2}{2}{2} \secentry{Strictness}{2}{3}{2} \secentry{The Uniform Naming Scheme}{2}{4}{3} \secentry{How derived variables are named}{2}{5}{4} \chapentry{Some example packages}{3}{4} \secentry{A simple example, start to finish}{3}{1}{4} \secentry{A classic program}{3}{2}{5} \secentry{Building etags and ctags}{3}{3}{6} \chapentry{Creating a \file {Makefile.in}}{4}{7} \chapentry{Scanning \file {configure.in}}{5}{9} \secentry{Configuration requirements}{5}{1}{9} \secentry{Other things Automake recognizes}{5}{2}{10} \secentry{Auto-generating aclocal.m4}{5}{3}{12} \secentry{Autoconf macros supplied with Automake}{5}{4}{13} \secentry{Writing your own aclocal macros}{5}{5}{15} \chapentry{The top-level \file {Makefile.am}}{6}{15} \chapentry{Building Programs and Libraries}{7}{16} \secentry{Building a program}{7}{1}{16} \secentry{Building a library}{7}{2}{17} \secentry{Special handling for LIBOBJS and ALLOCA}{7}{3}{18} \secentry{Building a Shared Library}{7}{4}{18} \secentry{Variables used when building a program}{7}{5}{19} \secentry{Yacc and Lex support}{7}{6}{19} \secentry{C++ Support}{7}{7}{21} \secentry{Fortran 77 Support}{7}{8}{21} \subsecentry{Preprocessing Fortran 77}{7}{8}{1}{22} \subsecentry{Compiling Fortran 77 Files}{7}{8}{2}{22} \subsecentry{Mixing Fortran 77 With C and C++}{7}{8}{3}{22} \subsubsecentry{How the Linker is Chosen}{7}{8}{3}{1}{24} \subsecentry{Fortran 77 and Autoconf}{7}{8}{4}{24} \secentry{Support for Other Languages}{7}{9}{25} \secentry{Automatic de-ANSI-fication}{7}{10}{25} \secentry{Automatic dependency tracking}{7}{11}{25} \chapentry{Other Derived Objects}{8}{26} \secentry{Executable Scripts}{8}{1}{26} \secentry{Header files}{8}{2}{27} \secentry{Architecture-independent data files}{8}{3}{27} \secentry{Built sources}{8}{4}{27} \chapentry{Other GNU Tools}{9}{28} \secentry{Emacs Lisp}{9}{1}{28} \secentry{Gettext}{9}{2}{28} \secentry{Guile}{9}{3}{28} \secentry{Libtool}{9}{4}{28} \secentry{Java}{9}{5}{29} \chapentry{Building documentation}{10}{29} \secentry{Texinfo}{10}{1}{29} \secentry{Man pages}{10}{2}{30} \chapentry{What Gets Installed}{11}{30} \chapentry{What Gets Cleaned}{12}{31} \chapentry{What Goes in a Distribution}{13}{31} \chapentry{Support for test suites}{14}{32} \chapentry{Changing Automake's Behavior}{15}{32} \chapentry{Miscellaneous Rules}{16}{34} \secentry{Interfacing to \code {etags}}{16}{1}{34} \secentry{Handling new file extensions}{16}{2}{34} \chapentry{Include}{17}{35} \chapentry{Conditionals}{18}{35} \chapentry{The effect of \code {--gnu} and \code {--gnits}}{19}{36} \chapentry{The effect of \code {--cygnus}}{20}{36} \chapentry{When Automake Isn't Enough}{21}{37} \chapentry{Distributing \file {Makefile.in}s}{22}{37} \chapentry{Some ideas for the future}{23}{38} \unnumbchapentry{Macro and Variable Index}{39} \unnumbchapentry{General Index}{42} .