* doc/automake.texi: Use @acindex for Autoconf macros, and @vindex
authorAlexandre Duret-Lutz <adl@gnu.org>
Sun, 5 Dec 2004 15:35:23 +0000 (15:35 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Sun, 5 Dec 2004 15:35:23 +0000 (15:35 +0000)
for variables (@cvindex was previously used for both).  Separate
these two indices in the output.  Use @code, @file, and @command
in @cindex lines wherever appropriate so they render nicely.

ChangeLog
doc/automake.texi

index 4b72759..fdfc6c0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-12-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       * doc/automake.texi: Use @acindex for Autoconf macros, and @vindex
+       for variables (@cvindex was previously used for both).  Separate
+       these two indices in the output.  Use @code, @file, and @command
+       in @cindex lines wherever appropriate so they render nicely.
+
 2004-12-05  Stepan Kasal  <kasal@ucw.cz>
 
        * doc/automake.texi (renamed objects, CVS): Typos.
index 588b78d..54deb1b 100644 (file)
@@ -53,10 +53,8 @@ published by the Free Software Foundation raise funds for
 @insertcopying
 @end titlepage
 
-@c Define an index of configure output variables.
-@defcodeindex ov
-@c Define an index of configure variables.
-@defcodeindex cv
+@c Define an index of configure macros.
+@defcodeindex ac
 @c Define an index of options.
 @defcodeindex op
 @c Define an index of targets.
@@ -64,11 +62,8 @@ published by the Free Software Foundation raise funds for
 @c Define an index of commands.
 @defcodeindex cm
 
-@c Put the macros and variables into their own index.
-@c @syncodeindex fn cp
-@syncodeindex ov vr
-@syncodeindex cv vr
-@syncodeindex fn vr
+@c Put the macros in the function index.
+@syncodeindex ac fn
 
 @c Put everything else into one index (arbitrarily chosen to be the concept index).
 @syncodeindex op cp
@@ -271,7 +266,8 @@ Copying This Manual
 
 Indices
 
-* Macro and Variable Index::    Index of Autoconf macros and Automake variables
+* Macro Index::                 Index of Autoconf macros
+* Variable Index::              Index of Makefile variables
 * General Index::               General index
 
 @end detailmenu
@@ -324,8 +320,8 @@ Automake requires @code{perl} in order to generate the
 fully GNU standards-compliant, and do not require @code{perl} in order
 to be built.
 
-@cindex BUGS, reporting
-@cindex Reporting BUGS
+@cindex Bugs, reporting
+@cindex Reporting bugs
 @cindex E-mail, bug reports
 
 Mail suggestions and bug reports for Automake to
@@ -358,7 +354,7 @@ for instance, a @samp{bin_PROGRAMS} variable definition will cause rules
 for compiling and linking programs to be generated.
 
 @cindex Non-standard targets
-@cindex cvs-dist, non-standard example
+@cindex @code{cvs-dist}, non-standard example
 @trindex cvs-dist
 
 The variable definitions and rules in the @file{Makefile.am} are
@@ -375,6 +371,7 @@ such extensions in a @file{Makefile.am} will lead to errors or confusing
 behavior.
 
 @cindex Append operator
+@cmindex +=
 A special exception is that the GNU make append operator, @samp{+=}, is
 supported.  This operator appends its right hand argument to the variable
 specified on the left.  Automake will translate the operator into
@@ -421,7 +418,7 @@ foo_SOURCES = c.c $(xs)
 it would use the files @file{a.c}, @file{b.c}, and @file{c.c} as the
 contents of @code{foo_SOURCES}.
 
-@cindex ## (special Automake comment)
+@cindex @code{##} (special Automake comment)
 @cindex Special Automake comment
 @cindex Comment, special to Automake
 
@@ -454,12 +451,12 @@ does make some effort to accommodate those who wish to use it, but do
 not want to use all the GNU conventions.
 
 @cindex Strictness, defined
-@cindex Strictness, foreign
-@cindex foreign strictness
-@cindex Strictness, gnu
-@cindex gnu strictness
-@cindex Strictness, gnits
-@cindex gnits strictness
+@cindex Strictness, @code{foreign}
+@cindex @code{foreign} strictness
+@cindex Strictness, @code{gnu}
+@cindex @code{gnu} strictness
+@cindex Strictness, @code{gnits}
+@cindex @code{gnits} strictness
 
 To this end, Automake supports three levels of @dfn{strictness}---the
 strictness indicating how stringently Automake should check standards
@@ -507,10 +504,11 @@ makes it easy to decide how programs (and other derived objects) are
 built, and how they are installed.  This scheme also supports
 @code{configure} time determination of what should be built.
 
-@cindex _PROGRAMS primary variable
-@cindex PROGRAMS primary variable
-@cindex Primary variable, PROGRAMS
+@cindex @code{_PROGRAMS} primary variable
+@cindex @code{PROGRAMS} primary variable
+@cindex Primary variable, @code{PROGRAMS}
 @cindex Primary variable, defined
+@vindex _PROGRAMS
 
 At @code{make} time, certain variables are used to determine which
 objects are to be built.  The variable names are made of several pieces
@@ -521,14 +519,15 @@ the @dfn{primary}.  For instance, the primary @code{PROGRAMS} holds a
 list of programs which are to be compiled and linked.
 @vindex PROGRAMS
 
-@cindex pkglibdir, defined
-@cindex pkgincludedir, defined
-@cindex pkgdatadir, defined
+@cindex @code{pkglibdir}, defined
+@cindex @code{pkgincludedir}, defined
+@cindex @code{pkgdatadir}, defined
 
 @vindex pkglibdir
 @vindex pkgincludedir
 @vindex pkgdatadir
 
+@cindex @code{PACKAGE}, directory
 A different set of names is used to decide where the built objects
 should be installed.  These names are prefixes to the primary which
 indicate which standard directory should be used as the installation
@@ -538,10 +537,8 @@ Automake extends this list with @code{pkglibdir}, @code{pkgincludedir},
 and @code{pkgdatadir}; these are the same as the non-@samp{pkg}
 versions, but with @samp{$(PACKAGE)} appended.  For instance,
 @code{pkglibdir} is defined as @code{$(libdir)/$(PACKAGE)}.
-@cvindex PACKAGE, directory
-
-@cindex EXTRA_, prepending
 
+@cindex @code{EXTRA_}, prepending
 For each primary, there is one additional variable named by prepending
 @samp{EXTRA_} to the primary name.  This variable is used to list
 objects which may or may not be built, depending on what
@@ -549,9 +546,9 @@ objects which may or may not be built, depending on what
 must statically know the entire list of objects that may be built in
 order to generate a @file{Makefile.in} that will work in all cases.
 
-@cindex EXTRA_PROGRAMS, defined
-@cindex Example, EXTRA_PROGRAMS
-@cindex cpio example
+@cindex @code{EXTRA_PROGRAMS}, defined
+@cindex Example, @code{EXTRA_PROGRAMS}
+@cindex @command{cpio} example
 
 For instance, @code{cpio} decides at configure time which programs are
 built.  Some of the programs are installed in @code{bindir}, and some
@@ -594,14 +591,16 @@ htmldir = $(prefix)/html
 html_DATA = automake.html
 @end example
 
-@cindex noinst primary prefix, definition
+@cindex @code{noinst_} primary prefix, definition
+@vindex noinst_
 
 The special prefix @samp{noinst} indicates that the objects in question
 should be built but not installed at all.  This is usually used for
 objects required to build the rest of your package, for instance static
 libraries (@pxref{A Library}), or helper scripts.
 
-@cindex check primary prefix, definition
+@cindex @code{check_} primary prefix, definition
+@vindex check_
 
 The special prefix @samp{check} indicates that the objects in question
 should not be built until the @code{make check} command is run.  Those
@@ -775,7 +774,7 @@ your head float from vortex to vortex.  You've been using Autoconf to
 provide a portability framework, but your @file{Makefile.in}s have been
 ad-hoc.  You want to make them bulletproof, so you turn to Automake.
 
-@cindex AM_INIT_AUTOMAKE, example use
+@cindex @code{AM_INIT_AUTOMAKE}, example use
 
 The first step is to update your @file{configure.ac} to include the
 commands that @code{automake} needs.  The way to do this is to add an
@@ -791,9 +790,9 @@ Since your program doesn't have any complicating factors (e.g., it
 doesn't use @code{gettext}, it doesn't want to build a shared library),
 you're done with this part.  That was easy!
 
-@cindex aclocal program, introduction
-@cindex aclocal.m4, preexisting
-@cindex acinclude.m4, defined
+@cindex @command{aclocal} program, introduction
+@cindex @file{aclocal.m4}, preexisting
+@cindex @file{acinclude.m4}, defined
 
 Now you must regenerate @file{configure}.  But to do that, you'll need
 to tell @code{autoconf} how to find the new macro you've used.  The
@@ -809,7 +808,7 @@ aclocal
 autoconf
 @end example
 
-@cindex zardoz example
+@cindex @command{zardoz} example
 
 Now it is time to write your @file{Makefile.am} for @code{zardoz}.
 Since @code{zardoz} is a user program, you want to install it where the
@@ -848,9 +847,9 @@ Of course, GNU Hello is somewhat more featureful than your traditional
 two-liner.  GNU Hello is internationalized, does option processing, and
 has a manual and a test suite.
 
-@cindex configure.ac, from GNU Hello
-@cindex GNU Hello, configure.ac
-@cindex Hello, configure.ac
+@cindex @file{configure.ac}, from GNU Hello
+@cindex GNU Hello, @file{configure.ac}
+@cindex Hello, @file{configure.ac}
 
 Here is the @file{configure.ac} from GNU Hello.
 @strong{Please note:} The calls to @code{AC_INIT} and @code{AM_INIT_AUTOMAKE}
@@ -933,7 +932,8 @@ EXTRA_DIST = hello.in testdata
 The script @file{hello} is generated by @code{configure}, and is the
 only test case.  @code{make check} will run this test.
 
-@cindex INCLUDES, example usage
+@cindex @code{INCLUDES}, example usage
+@vindex INCLUDES
 
 Last we have @file{src/Makefile.am}, where all the real work is done:
 @c FIXME: As all the Hello World excerpts in this manual, this
@@ -951,9 +951,9 @@ INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\"
 @node true
 @section Building true and false
 
-@cindex Example, false and true
-@cindex false Example
-@cindex true Example
+@cindex Example, @command{false} and @command{true}
+@cindex @command{false} Example
+@cindex @command{true} Example
 
 Here is another, trickier example.  It shows how to generate two
 programs (@code{true} and @code{false}) from the same source file
@@ -1036,9 +1036,9 @@ automake; they would be @file{false-true.o} and @file{true-true.o}.
 @node Invoking Automake
 @chapter Creating a @file{Makefile.in}
 
-@cindex Multiple configure.ac files
-@cindex Invoking Automake
-@cindex Automake, invoking
+@cindex Multiple @file{configure.ac} files
+@cindex Invoking @command{automake}
+@cindex @command{automake}, invoking
 
 To create all the @file{Makefile.in}s for a package, run the
 @code{automake} program in the top level directory, with no arguments.
@@ -1074,15 +1074,15 @@ misunderstand this paragraph: Automake runs @code{autoconf} to
 @file{configure} and you still have to run @code{autoconf} yourself for
 this purpose.
 
-@cindex Automake options
-@cindex Options, Automake
+@cindex @command{automake} options
+@cindex Options, @command{automake}
 @cindex Strictness, command line
 
-@code{automake} accepts the following options:
+@command{automake} accepts the following options:
 
 @cindex Extra files distributed with Automake
 @cindex Files distributed with Automake
-@cindex config.guess
+@cindex @file{config.guess}
 
 @table @samp
 @item -a
@@ -1242,8 +1242,8 @@ for this reason.
 @node configure
 @chapter Scanning @file{configure.ac}
 
-@cindex configure.ac, scanning
-@cindex Scanning configure.ac
+@cindex @file{configure.ac}, scanning
+@cindex Scanning @file{configure.ac}
 
 Automake scans the package's @file{configure.ac} to determine certain
 information about the package.  Some @code{autoconf} macros are required
@@ -1274,10 +1274,10 @@ easier.  These macros can automatically be put into your
 @cindex Automake requirements
 @cindex Requirements of Automake
 
+@acindex AM_INIT_AUTOMAKE
 The one real requirement of Automake is that your @file{configure.ac}
 call @code{AM_INIT_AUTOMAKE}.  This macro does several things which are
 required for proper Automake operation (@pxref{Macros}).
-@cvindex AM_INIT_AUTOMAKE
 
 Here are the other macros which Automake requires but which are not run
 by @code{AM_INIT_AUTOMAKE}:
@@ -1285,6 +1285,8 @@ by @code{AM_INIT_AUTOMAKE}:
 @table @code
 @item AC_CONFIG_FILES
 @itemx AC_OUTPUT
+@acindex AC_CONFIG_FILES
+@acindex AC_OUTPUT
 Automake uses these to determine which files to create (@pxref{Output, ,
 Creating Output Files, autoconf, The Autoconf Manual}).  A listed file
 is considered to be an Automake generated @file{Makefile} if there
@@ -1299,8 +1301,6 @@ file exists.  If no such file exists the output file is not considered
 to be Automake generated.
 
 Files created by @code{AC_CONFIG_FILES} are removed by @code{make distclean}.
-@cvindex AC_CONFIG_FILES
-@cvindex AC_OUTPUT
 @end table
 
 
@@ -1315,18 +1315,16 @@ Every time Automake is run it calls Autoconf to trace
 macros and tailor the generated @file{Makefile.in} appropriately.
 Currently recognized macros and their effects are:
 
-@table @code
+@ftable @code
 @item AC_CONFIG_HEADERS
 Automake will generate rules to rebuild these headers.  Older versions
 of Automake required the use of @code{AM_CONFIG_HEADER}
 (@pxref{Macros}); this is no longer the case today.
-@cvindex AC_CONFIG_HEADERS
 
 @item AC_CONFIG_LINKS
 Automake will generate rules to remove @file{configure} generated links on
 @code{make distclean} and to distribute named source files as part of
 @code{make dist}.
-@cvindex AC_CONFIG_LINKS
 
 @item AC_CONFIG_AUX_DIR
 Automake will look for various helper scripts, such as
@@ -1338,10 +1336,9 @@ Automake will look for various helper scripts, such as
 @file{py-compile}, @file{texinfo.tex}, and @file{ylwrap}.)  Not all
 scripts are always searched for; some scripts will only be sought if the
 generated @file{Makefile.in} requires them.
-@cvindex AC_CONFIG_AUX_DIR
 
 If @code{AC_CONFIG_AUX_DIR} is not given, the scripts are looked for in
-their @samp{standard} locations.  For @file{mdate-sh},
+their standard locations.  For @file{mdate-sh},
 @file{texinfo.tex}, and @file{ylwrap}, the standard location is the
 source directory corresponding to the current @file{Makefile.am}.  For
 the rest, the standard location is the first one of @file{.}, @file{..},
@@ -1355,21 +1352,19 @@ distributed, even if there is no @file{Makefile.am} in this directory.
 @item AC_CANONICAL_BUILD
 @itemx AC_CANONICAL_HOST
 @itemx AC_CANONICAL_TARGET
+@vindex build_triplet
+@vindex host_triplet
+@vindex target_triplet
 Automake will ensure that @file{config.guess} and @file{config.sub}
 exist.  Also, the @file{Makefile} variables @samp{build_triplet},
 @samp{host_triplet} and @samp{target_triplet} are introduced.  See
 @ref{Canonicalizing, , Getting the Canonical System Type, autoconf,
 The Autoconf Manual}.
-@cvindex AC_CANONICAL_BUILD
-@cvindex AC_CANONICAL_HOST
-@cvindex AC_CANONICAL_TARGET
-@vindex build_triplet
-@vindex host_triplet
-@vindex target_triplet
 
 @item AC_LIBSOURCE
 @itemx AC_LIBSOURCES
 @itemx AC_LIBOBJ
+@vindex LIBOBJS
 Automake will automatically distribute any file listed in
 @code{AC_LIBSOURCE} or @code{AC_LIBSOURCES}.
 
@@ -1378,66 +1373,53 @@ an Autoconf macro is documented to call @code{AC_LIBOBJ([file])}, then
 @file{file.c} will be distributed automatically by Automake.  This
 encompasses many macros like @code{AC_FUNC_ALLOCA},
 @code{AC_FUNC_MEMCMP}, @code{AC_REPLACE_FUNCS}, and others.
-@cvindex AC_LIBOBJ
-@cvindex AC_LIBSOURCE
-@cvindex AC_LIBSOURCES
 
 By the way, direct assignments to @code{LIBOBJS} are no longer
 supported.  You should always use @code{AC_LIBOBJ} for this purpose.
 @xref{AC_LIBOBJ vs LIBOBJS, , @code{AC_LIBOBJ} vs. @code{LIBOBJS},
 autoconf, The Autoconf Manual}.
-@cvindex LIBOBJS
 
 @item AC_PROG_RANLIB
 This is required if any libraries are built in the package.
 @xref{Particular Programs, , Particular Program Checks, autoconf, The
 Autoconf Manual}.
-@cvindex AC_PROG_RANLIB
 
 @item AC_PROG_CXX
 This is required if any C++ source is included.  @xref{Particular
 Programs, , Particular Program Checks, autoconf, The Autoconf Manual}.
-@cvindex AC_PROG_CXX
 
 @item AC_PROG_F77
 This is required if any Fortran 77 source is included.  This macro is
 distributed with Autoconf version 2.13 and later.  @xref{Particular
 Programs, , Particular Program Checks, autoconf, The Autoconf Manual}.
-@cvindex AC_PROG_F77
 
 @item AC_F77_LIBRARY_LDFLAGS
 This is required for programs and shared libraries that are a mixture of
 languages that include Fortran 77 (@pxref{Mixing Fortran 77 With C and
 C++}).  @xref{Macros, , Autoconf macros supplied with Automake}.
-@cvindex AC_F77_LIBRARY_LDFLAGS
 
 @item AC_PROG_FC
 This is required if any Fortran 90/95 source is included.  This macro is
 distributed with Autoconf version 2.58 and later.  @xref{Particular
 Programs, , Particular Program Checks, autoconf, The Autoconf Manual}.
-@cvindex AC_PROG_FC
 
 @item AC_PROG_LIBTOOL
 Automake will turn on processing for @code{libtool} (@pxref{Top, ,
 Introduction, libtool, The Libtool Manual}).
-@cvindex AC_PROG_LIBTOOL
 
 @item AC_PROG_YACC
+@vindex YACC
 If a Yacc source file is seen, then you must either use this macro or
 define the variable @samp{YACC} in @file{configure.ac}.  The former is
 preferred (@pxref{Particular Programs, , Particular Program Checks,
 autoconf, The Autoconf Manual}).
-@cvindex AC_PROG_YACC
-@cvindex YACC
 
 @item AC_PROG_LEX
 If a Lex source file is seen, then this macro must be used.
 @xref{Particular Programs, , Particular Program Checks, autoconf, The
 Autoconf Manual}.
-@cvindex AC_PROG_LEX
 
 @item AC_REQUIRE_AUX_FILE
-@cvindex AC_REQUIRE_AUX_FILE
 @command{automake} will ensure each file for which this macro is
 called exists in the aux directory, and will complain otherwise.  It
 will also automatically distribute the file.  This macro should be
@@ -1447,7 +1429,6 @@ above.  @xref{Input, , Finding @command{configure} Input, autoconf,
 The Autoconf Manual}.
 
 @item AC_SUBST
-@cvindex AC_SUBST
 The first argument is automatically defined as a variable in each
 generated @file{Makefile.in}.  @xref{Setting Output Variables, , Setting
 Output Variables, autoconf, The Autoconf Manual}.
@@ -1461,27 +1442,23 @@ you can use these variables in any @file{Makefile.am} if
 
 @item AM_C_PROTOTYPES
 This is required when using automatic de-ANSI-fication; see @ref{ANSI}.
-@cvindex AM_C_PROTOTYPES
 
 @item AM_GNU_GETTEXT
 This macro is required for packages which use GNU gettext
 (@pxref{gettext}).  It is distributed with gettext.  If Automake sees
 this macro it ensures that the package meets some of gettext's
 requirements.
-@cvindex AM_GNU_GETTEXT
 
 @item AM_MAINTAINER_MODE
 @opindex --enable-maintainer-mode
 This macro adds a @samp{--enable-maintainer-mode} option to
 @code{configure}.  If this is used, @code{automake} will cause
 @samp{maintainer-only} rules to be turned off by default in the
-generated @file{Makefile.in}s. This macro defines the
+generated @file{Makefile.in}s.  This macro defines the
 @samp{MAINTAINER_MODE} conditional, which you can use in your own
-@file{Makefile.am}.
-@cvindex AM_MAINTAINER_MODE
+@file{Makefile.am}.  @xref{maintainer-mode}.
 
 @item m4_include
-@cvindex m4_include
 Files included by @file{configure.ac} using this macro will be
 detected by Automake and automatically distributed.  They will also
 appear as dependencies in @file{Makefile} rules.
@@ -1492,14 +1469,14 @@ some required macros come from files local to your package (as
 opposed to macros installed in a system-wide directory, see
 @ref{Invoking aclocal}).
 
-@end table
+@end ftable
 
 
 @node Invoking aclocal
 @section Auto-generating aclocal.m4
 
-@cindex Invoking aclocal
-@cindex aclocal, Invoking
+@cindex Invoking @command{aclocal}
+@cindex @command{aclocal}, Invoking
 
 Automake includes a number of Autoconf macros which can be used in
 your package (@pxref{Macros}); some of them are actually required by
@@ -1561,8 +1538,8 @@ just as @code{autoconf}.  Its location can be overridden using the
 @node aclocal options
 @section aclocal options
 
-@cindex aclocal, Options
-@cindex Options, aclocal
+@cindex @command{aclocal}, Options
+@cindex Options, @command{aclocal}
 
 @code{aclocal} accepts the following options:
 
@@ -1637,7 +1614,7 @@ way as it is for @command{automake} (@pxref{Invoking Automake}).
 @section Macro search path
 
 @cindex Macro search path
-@cindex aclocal search path
+@cindex @command{aclocal} search path
 
 By default, @command{aclocal} searches for @file{.m4} files in the following
 directories, in this order:
@@ -1795,12 +1772,13 @@ Automake ships with several Autoconf macros that you can use from your
 
 @table @code
 @item AM_CONFIG_HEADER
+@acindex AM_CONFIG_HEADER
 Automake will generate rules to automatically regenerate the config
 header.  This obsolete macro is a synonym of @code{AC_CONFIG_HEADERS}
 today (@pxref{Optional}).
-@cvindex AM_CONFIG_HEADER
 
 @item AM_ENABLE_MULTILIB
+@acindex AM_ENABLE_MULTILIB
 This is used when a ``multilib'' library is being built.  The first
 optional argument is the name of the @file{Makefile} being generated; it
 defaults to @samp{Makefile}.  The second option argument is used to find
@@ -1809,29 +1787,35 @@ this should not be used unless you are familiar with the internals).
 @xref{Multilibs}.
 
 @item AM_C_PROTOTYPES
+@acindex AM_C_PROTOTYPES
+@vindex ANSI2KNR
+@vindex U
 Check to see if function prototypes are understood by the compiler.  If
 so, define @samp{PROTOTYPES} and set the output variables @samp{U} and
 @samp{ANSI2KNR} to the empty string.  Otherwise, set @samp{U} to
 @samp{_} and @samp{ANSI2KNR} to @samp{./ansi2knr}.  Automake uses these
 values to implement automatic de-ANSI-fication.
-@cvindex AM_C_PROTOTYPES
 
 @item AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
+@acindex AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
 If the use of @code{TIOCGWINSZ} requires @file{<sys/ioctl.h>}, then
 define @code{GWINSZ_IN_SYS_IOCTL}.  Otherwise @code{TIOCGWINSZ} can be
-found in @file{<termios.h>}.
-@cvindex AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
+found in @file{<termios.h>}.  This macro is obsolete, you should
+use Autoconf's @code{AC_HEADER_TIOCGWINSZ} instead.
 
 @item AM_INIT_AUTOMAKE([OPTIONS])
 @itemx AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+@acindex AM_INIT_AUTOMAKE
 Runs many macros required for proper operation of the generated Makefiles.
 
+@vindex AUTOMAKE_OPTIONS
 This macro has two forms, the first of which is preferred.
 In this form, @code{AM_INIT_AUTOMAKE} is called with a
 single argument --- a space-separated list of Automake options which should
 be applied to every @file{Makefile.am} in the tree.  The effect is as if
-each option were listed in @code{AUTOMAKE_OPTIONS}.
+each option were listed in @code{AUTOMAKE_OPTIONS} (@pxref{Options}).
 
+@acindex AC_INIT
 The second, deprecated, form of @code{AM_INIT_AUTOMAKE} has two required
 arguments: the package and the version number.  This form is
 obsolete because the @var{package} and @var{version} can be obtained
@@ -1839,11 +1823,15 @@ from Autoconf's @code{AC_INIT} macro (which itself has an old and a new
 form).
 
 If your @file{configure.ac} has:
+
 @example
 AC_INIT(src/foo.c)
 AM_INIT_AUTOMAKE(mumble, 1.5)
 @end example
+
+@noindent
 you can modernize it as follows:
+
 @example
 AC_INIT(mumble, 1.5)
 AC_CONFIG_SRCDIR(src/foo.c)
@@ -1862,6 +1850,9 @@ the package name, which should work for most but not all package names.
 four-argument form of @code{AC_INIT} --- supported in Autoconf versions
 greater than 2.52g --- to provide the tarball name explicitly).
 
+@cindex @code{PACKAGE}, prevent definition
+@cindex @code{VERSION}, prevent definition
+@opindex no-define
 By default this macro @code{AC_DEFINE}'s @samp{PACKAGE} and
 @samp{VERSION}.  This can be avoided by passing the @samp{no-define}
 option, as in:
@@ -1870,10 +1861,10 @@ AM_INIT_AUTOMAKE([gnits 1.5 no-define dist-bzip2])
 @end example
 or by passing a third non-empty argument to the obsolete form.
 
-@cvindex PACKAGE, prevent definition
-@cvindex VERSION, prevent definition
-
 @item AM_PATH_LISPDIR
+@acindex AM_PATH_LISPDIR
+@vindex EMACS
+@vindex lispdir
 Searches for the program @code{emacs}, and, if found, sets the output
 variable @code{lispdir} to the full path to Emacs' site-lisp directory.
 
@@ -1887,44 +1878,54 @@ problems, you can set @code{EMACS} to ``no'' in the environment, or
 use the @samp{--with-lispdir} option to @command{configure} to
 explicitly set the correct path (if you're sure you have an @code{emacs}
 that supports Emacs Lisp.
-@cvindex AM_PATH_LISPDIR
 
 @item AM_PROG_AS
+@acindex AM_PROG_AS
+@vindex CCAS
+@vindex CCASFLAGS
 Use this macro when you have assembly code in your project.  This will
 choose the assembler for you (by default the C compiler) and set
 @code{CCAS}, and will also set @code{CCASFLAGS} if required.
 
 @item AM_PROG_CC_C_O
+@acindex AM_PROG_CC_C_O
+@acindex AC_PROG_CC_C_O
 This is like @code{AC_PROG_CC_C_O}, but it generates its results in
 the manner required by automake.  You must use this instead of
 @code{AC_PROG_CC_C_O} when you need this functionality, that is, when
 using per-target flags or subdir-objects with C sources.
 
 @item AM_PROG_LEX
-@cindex HP-UX 10, lex problems
-@cindex lex problems with HP-UX 10
+@acindex AM_PROG_LEX
+@acindex AC_PROG_LEX
+@cindex HP-UX 10, @command{lex} problems
+@cindex @command{lex} problems with HP-UX 10
 Like @code{AC_PROG_LEX} (@pxref{Particular Programs, , Particular
 Program Checks, autoconf, The Autoconf Manual}), but uses the
 @code{missing} script on systems that do not have @code{lex}.
 @samp{HP-UX 10} is one such system.
 
 @item AM_PROG_GCJ
+@acindex AM_PROG_GCJ
+@vindex GCJ
+@vindex GCJFLAGS
 This macro finds the @code{gcj} program or causes an error.  It sets
 @samp{GCJ} and @samp{GCJFLAGS}.  @code{gcj} is the Java front-end to the
 GNU Compiler Collection.
-@cvindex AM_PROG_GCJ
 
 @item AM_SYS_POSIX_TERMIOS
-@cvindex am_cv_sys_posix_termios
+@acindex AM_SYS_POSIX_TERMIOS
 @cindex POSIX termios headers
 @cindex termios POSIX headers
 Check to see if POSIX termios headers and functions are available on the
 system.  If so, set the shell variable @code{am_cv_sys_posix_termios} to
-@samp{yes}.  If not, set the variable to @samp{no}.
+@samp{yes}.  If not, set the variable to @samp{no}.  This macro is obsolete,
+you should use Autoconf's @code{AC_SYS_POSIX_TERMIOS} instead.
 
 @item AM_WITH_DMALLOC
-@cvindex WITH_DMALLOC
-@cindex dmalloc, support for
+@acindex AM_WITH_DMALLOC
+@cindex @command{dmalloc}, support for
+@vindex WITH_DMALLOC
 @opindex --with-dmalloc
 Add support for the
 @uref{ftp://ftp.letters.com/src/dmalloc/dmalloc.tar.gz, dmalloc}
@@ -1932,7 +1933,8 @@ package.  If the user configures with @samp{--with-dmalloc}, then define
 @code{WITH_DMALLOC} and add @samp{-ldmalloc} to @code{LIBS}.
 
 @item AM_WITH_REGEX
-@cvindex WITH_REGEX
+@acindex AM_WITH_REGEX
+@vindex WITH_REGEX
 @opindex --with-regex
 @cindex regex package
 @cindex rx package
@@ -1954,7 +1956,7 @@ rely on them, as they might be changed in a future version.  Consider
 them as implementation details; or better, do not consider them at all:
 skip this section!
 
-@table @code
+@ftable @code
 @item _AM_DEPENDENCIES
 @itemx AM_SET_DEPDIR
 @itemx AM_DEP_TRACK
@@ -1979,14 +1981,14 @@ newer than a file in the source directory.  This can fail on systems
 where the clock is set incorrectly.  This macro is automatically run
 from @code{AM_INIT_AUTOMAKE}.
 
-@end table
+@end ftable
 
 
 @node Extending aclocal
 @section Writing your own aclocal macros
 
-@cindex aclocal, extending
-@cindex Extending aclocal
+@cindex @command{aclocal}, extending
+@cindex Extending @command{aclocal}
 
 The @command{aclocal} program doesn't have any built-in knowledge of any
 macros, so it is easy to extend it with your own macros.
@@ -2014,9 +2016,9 @@ Each file should have no side effects but macro definitions.
 Especially, any call to @code{AC_PREREQ} should be done inside the
 defined macro, not at the beginning of the file.
 
-@cindex underquoted AC_DEFUN
-@cvindex AC_DEFUN
-@cvindex AC_PREREQ
+@cindex underquoted @code{AC_DEFUN}
+@acindex AC_DEFUN
+@acindex AC_PREREQ
 
 Starting with Automake 1.8, @command{aclocal} will warn about all
 underquoted calls to @code{AC_DEFUN}.  We realize this will annoy a
@@ -2139,7 +2141,7 @@ distributed.
 
 @node Future of aclocal
 @section The Future of @command{aclocal}
-@cindex aclocal's scheduled death
+@cindex @command{aclocal}'s scheduled death
 
 @command{aclocal} is expected to disappear.  This feature really
 should not be offered by Automake.  Automake should focus on generating
@@ -2213,7 +2215,7 @@ build its contents.
 @node Subdirectories
 @section Recursing subdirectories
 
-@cindex SUBDIRS, explained
+@cindex @code{SUBDIRS}, explained
 
 In packages with subdirectories, the top level @file{Makefile.am} must
 tell Automake which subdirectories are to be built.  This is done via
@@ -2511,7 +2513,8 @@ example, the header file will be installed as
 include_HEADERS = inc/stdio.h
 @end example
 
-@cindex nobase_
+@vindex nobase_
+@cindex @code{nobase_} prefix
 @cindex Path stripping, avoiding
 @cindex Avoiding path stripping
 
@@ -2523,9 +2526,11 @@ stripping.  In this example, the header file will be installed as
 nobase_include_HEADERS = sys/types.h
 @end example
 
-@cindex nobase_ and dist_ or nodist_
-@cindex dist_ and nobase_
-@cindex nodist_ and nobase_
+@cindex @code{nobase_} and @code{dist_} or @code{nodist_}
+@cindex @code{dist_} and @code{nobase_}
+@cindex @code{nodist_} and @code{nobase_}
+@vindex dist_
+@vindex nodist_
 
 @samp{nobase_} should be specified first when used in conjunction with
 either @samp{dist_} or @samp{nodist_} (@pxref{Dist}).  For instance:
@@ -2539,8 +2544,8 @@ nobase_dist_pkgdata_DATA = images/vortex.pgm
 @section Nesting Packages
 @cindex Nesting packages
 @cindex Subpackages
-@cvindex AC_CONFIG_SUBDIRS
-@cvindex AC_CONFIG_AUX_DIR
+@acindex AC_CONFIG_SUBDIRS
+@acindex AC_CONFIG_AUX_DIR
 
 
 In the GNU Build System, packages can be nested to arbitrary depth.
@@ -2686,7 +2691,8 @@ programs.  Most of the comments about these also apply to libraries
 @node Program Sources
 @subsection Defining program sources
 
-@cindex PROGRAMS, bindir
+@cindex @code{PROGRAMS}, @code{bindir}
+@vindex _PROGRAMS
 @vindex bin_PROGRAMS
 @vindex sbin_PROGRAMS
 @vindex libexec_PROGRAMS
@@ -2725,9 +2731,10 @@ hello_SOURCES = hello.c version.c getopt.c getopt1.c getopt.h system.h
 This causes each mentioned @samp{.c} file to be compiled into the
 corresponding @samp{.o}.  Then all are linked to produce @file{hello}.
 
-@cindex _SOURCES primary, defined
-@cindex SOURCES primary, defined
-@cindex Primary variable, SOURCES
+@cindex @code{_SOURCES} primary, defined
+@cindex @code{SOURCES} primary, defined
+@cindex Primary variable, @code{SOURCES}
+@vindex _SOURCES
 
 If @samp{hello_SOURCES} is not specified, then it defaults to the single
 file @file{hello.c} (@pxref{Default _SOURCES}).
@@ -2738,8 +2745,8 @@ Multiple programs can be built in a single directory.  Multiple programs
 can share a single source file, which must be listed in each
 @samp{_SOURCES} definition.
 
-@cindex Header files in _SOURCES
-@cindex _SOURCES and header files
+@cindex Header files in @code{_SOURCES}
+@cindex @code{_SOURCES} and header files
 
 Header files listed in a @samp{_SOURCES} definition will be included in
 the distribution but otherwise ignored.  In case it isn't obvious, you
@@ -2760,7 +2767,7 @@ inappropriate for specifying specific linker flags, you should use
 @vindex LDADD
 @vindex AM_LDFLAGS
 
-@cindex prog_LDADD, defined
+@cindex @code{prog_LDADD}, defined
 
 Sometimes, multiple programs are built in one directory but do not share
 the same link-time requirements.  In this case, you can use the
@@ -2769,7 +2776,7 @@ program as it appears in some @samp{_PROGRAMS} variable, and usually
 written in lowercase) to override the global @code{LDADD}.  If this
 variable exists for a given program, then that program is not linked
 using @code{LDADD}.
-@vindex _LDADD
+@vindex maude_LDADD
 
 For instance, in GNU cpio, @code{pax}, @code{cpio} and @code{mt} are
 linked against the library @file{libcpio.a}.  However, @code{rmt} is
@@ -2791,16 +2798,15 @@ mt_SOURCES = @dots{}
 rmt_SOURCES = @dots{}
 @end example
 
-@cindex _LDFLAGS, defined
-
+@cindex @code{_LDFLAGS}, defined
+@vindex maude_LDFLAGS
 @samp{@var{prog}_LDADD} is inappropriate for passing program-specific
 linker flags (except for @samp{-l}, @samp{-L}, @samp{-dlopen} and
 @samp{-dlpreopen}).  So, use the @samp{@var{prog}_LDFLAGS} variable for
 this purpose.
-@vindex _LDFLAGS
-
-@cindex _DEPENDENCIES, defined
 
+@cindex @code{_DEPENDENCIES}, defined
+@vindex maude_DEPENDENCIES
 It is also occasionally useful to have a program depend on some other
 target which is not actually part of that program.  This can be done
 using the @samp{@var{prog}_DEPENDENCIES} variable.  Each program depends
@@ -2832,7 +2838,7 @@ to use an Automake conditional.
 
 @subsubsection Conditional compilation using @code{_LDADD} substitutions
 
-@cindex EXTRA_prog_SOURCES, defined
+@cindex @code{EXTRA_prog_SOURCES}, defined
 
 Automake must know all the source files that could possibly go into a
 program, even if not all the files are built in every circumstance.  Any
@@ -2916,14 +2922,14 @@ to compile source files conditionally: substitutions or conditionals.
 
 @subsubsection Conditional programs using @code{configure} substitutions
 
+@vindex EXTRA_PROGRAMS
+@cindex @code{EXTRA_PROGRAMS}, defined
 In this case, you must notify Automake of all the programs that can
 possibly be built, but at the same time cause the generated
 @file{Makefile.in} to use the programs specified by @code{configure}.
 This is done by having @code{configure} substitute values into each
 @samp{_PROGRAMS} definition, while listing all optionally built programs
 in @code{EXTRA_PROGRAMS}.
-@vindex EXTRA_PROGRAMS
-@cindex EXTRA_PROGRAMS, defined
 
 @example
 bin_PROGRAMS = cpio pax $(MT)
@@ -2959,9 +2965,10 @@ endif
 @node A Library
 @section Building a library
 
-@cindex _LIBRARIES primary, defined
-@cindex LIBRARIES primary, defined
-@cindex Primary variable, LIBRARIES
+@cindex @code{_LIBRARIES} primary, defined
+@cindex @code{LIBRARIES} primary, defined
+@cindex Primary variable, @code{LIBRARIES}
+@vindex _LIBRARIES
 
 @vindex lib_LIBRARIES
 @vindex pkglib_LIBRARIES
@@ -2988,15 +2995,10 @@ name is canonicalized (@pxref{Canonicalization}), so the @samp{_SOURCES}
 variable corresponding to @file{liblob.a} is @samp{liblob_a_SOURCES},
 not @samp{liblob.a_SOURCES}.
 
-@cindex _LIBADD primary, defined
-@cindex LIBADD primary, defined
-@cindex Primary variable, LIBADD
-
+@vindex maude_LIBADD
 Extra objects can be added to a library using the
 @samp{@var{library}_LIBADD} variable.  This should be used for objects
 determined by @code{configure}.  Again from @code{cpio}:
-@vindex _LIBADD
-@vindex LIBADD
 
 @example
 libcpio_a_LIBADD = $(LIBOBJS) $(ALLOCA)
@@ -3043,10 +3045,10 @@ platform-independent way.
 @node Libtool Concept
 @subsection The Libtool Concept
 
-@cindex libtool, introduction
+@cindex @command{libtool}, introduction
 @cindex libtool library, definition
-@cindex suffix .la, defined
-@cindex .la suffix, defined
+@cindex suffix @file{.la}, defined
+@cindex @file{.la} suffix, defined
 
 Libtool abstracts shared and static libraries into a unified
 concept henceforth called @dfn{libtool libraries}.  Libtool libraries
@@ -3058,7 +3060,7 @@ libraries should be built.  (However the package's maintainers can
 tune the default, @xref{AC_PROG_LIBTOOL, , The @code{AC_PROG_LIBTOOL}
 macro, libtool, The Libtool Manual}.)
 
-@cindex suffix .lo, defined
+@cindex suffix @file{.lo}, defined
 Because object files for shared and static libraries must be compiled
 differently, libtool is also used during compilation.  Object files
 built by libtool are called @dfn{libtool objects}: these are files
@@ -3075,7 +3077,7 @@ to refer to these, for instance when expressing dependencies for
 building source files conditionally (@pxref{Conditional Libtool
 Sources}).
 
-@cindex libltdl, introduction
+@cindex @file{libltdl}, introduction
 
 People considering writing a plug-in system, with dynamically loaded
 modules, should look into @file{libltdl}: libtool's dlopening library
@@ -3091,12 +3093,13 @@ with Libtool, libtool, The Libtool Manual}).
 @node Libtool Libraries
 @subsection Building Libtool Libraries
 
-@cindex _LTLIBRARIES primary, defined
-@cindex LTLIBRARIES primary, defined
-@cindex Primary variable, LTLIBRARIES
+@cindex @code{_LTLIBRARIES} primary, defined
+@cindex @code{LTLIBRARIES} primary, defined
+@cindex Primary variable, @code{LTLIBRARIES}
 @cindex Example of shared libraries
 @vindex lib_LTLIBRARIES
 @vindex pkglib_LTLIBRARIES
+@vindex _LTLIBRARIES
 
 Automake uses libtool to build libraries declared with the
 @samp{LTLIBRARIES} primary.  Each @samp{_LTLIBRARIES} variable is a
@@ -3310,7 +3313,7 @@ to list in @code{libtop_la_SOURCES} there is no point in cheating with
 @subsection Libtool Modules
 @cindex modules, libtool
 @cindex libtool modules
-@cindex -module, libtool
+@cindex @code{-module}, libtool
 
 These are libtool libraries meant to be dlopened.  They are
 indicated to libtool by passing @code{-module} at link-time.
@@ -3340,8 +3343,8 @@ the single file @file{mymodule.c} (@pxref{Default _SOURCES}).
 
 @node Libtool Flags
 @subsection _LIBADD and _LDFLAGS
-@cindex _LIBADD, libtool
-@cindex _LDFLAGS, libtool
+@cindex @code{_LIBADD}, libtool
+@cindex @code{_LDFLAGS}, libtool
 
 As shown in previous sections, the @samp{@var{library}_LIBADD}
 variable should be used to list extra libtool objects (@file{.lo}
@@ -3362,7 +3365,7 @@ libtool, The Libtool Manual}.
 @vindex LIBOBJS
 @vindex LTALLOCA
 @vindex ALLOCA
-@cvindex AC_LIBOBJ
+@acindex AC_LIBOBJ
 
 Where an ordinary library might include @code{$(LIBOBJS)} or
 @code{$(ALLOCA)} (@pxref{LIBOBJS}), a libtool library must use
@@ -3378,12 +3381,12 @@ performed automatically by Autoconf (@pxref{AC_LIBOBJ vs LIBOBJS, ,
 @subsection Common Issues Related to Libtool's Use
 
 @subsubsection @code{required file `./ltmain.sh' not found}
-@cindex ltmain.sh not found
-@cindex libtoolize, no longer run by Automake
-@cindex libtoolize and autoreconf
-@cindex autoreconf and libtoolize
-@cindex bootstrap.sh and autoreconf
-@cindex autogen.sh and autoreconf
+@cindex @file{ltmain.sh} not found
+@cindex @command{libtoolize}, no longer run by @command{automake}
+@cindex @command{libtoolize} and @command{autoreconf}
+@cindex @command{autoreconf} and @command{libtoolize}
+@cindex @file{bootstrap.sh} and @command{autoreconf}
+@cindex @file{autogen.sh} and @command{autoreconf}
 
 Libtool comes with a tool called @command{libtoolize} that will
 install libtool's supporting files into a package.  Running this
@@ -3474,7 +3477,7 @@ program, but in general the same rules apply for both static and dynamic
 libraries; the documentation below notes situations where programs and
 libraries differ.
 
-@table @samp
+@vtable @samp
 @item maude_SOURCES
 This variable, if it exists, lists all the source files which are
 compiled to build the program.  These files are added to the
@@ -3665,7 +3668,7 @@ the object file would be named @file{m-sample.o} rather than
 
 This facility is rarely needed in practice,
 and we recommend avoiding it until you find it is required.
-@end table
+@end vtable
 
 @node Default _SOURCES
 @section Default @code{_SOURCES}
@@ -3758,7 +3761,7 @@ files that should be compiled into the project to provide an
 implementation for functions that are missing or broken on the host
 system.  They are substituted by @file{configure}.
 
-@cvindex AC_LIBOBJ
+@acindex AC_LIBOBJ
 
 These variables are defined by Autoconf macros such as
 @code{AC_LIBOBJ}, @code{AC_REPLACE_FUNCS} (@pxref{Generic Functions, ,
@@ -3768,7 +3771,7 @@ Function Checks, autoconf, The Autoconf Manual}).  Many other Autoconf
 macros call @code{AC_LIBOBJ} or @code{AC_REPLACE_FUNCS} to
 populate @code{$(LIBOBJS)}.
 
-@cvindex AC_LIBSOURCE
+@acindex AC_LIBSOURCE
 
 Using these variables is very similar to doing conditional compilation
 using @code{AC_SUBST} variables, as described in @ref{Conditional
@@ -3804,7 +3807,7 @@ AC_CONFIG_FILES([
 AC_OUTPUT
 @end example
 
-@cvindex AC_CONFIG_LIBOBJ_DIR
+@acindex AC_CONFIG_LIBOBJ_DIR
 
 The @code{AC_CONFIG_LIBOBJ_DIR} tells Autoconf that the source files
 of these object files are to be found in the @file{lib/} directory.
@@ -3962,6 +3965,8 @@ define the variable @samp{YACC}.  This is most easily done by invoking
 the macro @samp{AC_PROG_YACC} (@pxref{Particular Programs, , Particular
 Program Checks, autoconf, The Autoconf Manual}).
 
+@vindex YFLAGS
+@vindex AM_YFLAGS
 When @code{yacc} is invoked, it is passed @samp{YFLAGS} and
 @samp{AM_YFLAGS}.  The former is a user variable and the latter is
 intended for the @file{Makefile.am} author.
@@ -3989,6 +3994,8 @@ to do this (@pxref{Particular Programs, , Particular Program Checks,
 autoconf, The Autoconf Manual}), but using @code{AM_PROG_LEX} macro
 (@pxref{Macros}) is recommended.
 
+@vindex LFLAGS
+@vindex AM_LFLAGS
 When @code{lex} is invoked, it is passed @samp{LFLAGS} and
 @samp{AM_LFLAGS}.  The former is a user variable and the latter is
 intended for the @file{Makefile.am} author.
@@ -3998,11 +4005,11 @@ rebuild rule for distributed Yacc and Lex sources are only used when
 @code{maintainer-mode} is enabled, or when the files have been erased.
 
 
-@cindex ylwrap
-@cindex yacc, multiple parsers
-@cindex Multiple yacc parsers
-@cindex Multiple lex lexers
-@cindex lex, multiple lexers
+@cindex @command{ylwrap}
+@cindex @command{yacc}, multiple parsers
+@cindex Multiple @command{yacc} parsers
+@cindex Multiple @command{lex} lexers
+@cindex @command{lex}, multiple lexers
 
 
 Automake makes it possible to include multiple @code{yacc} (or
@@ -4112,19 +4119,22 @@ Automake includes some support for assembly code.  There are two forms
 of assembler files: normal (@file{*.s}) and preprocessed by @code{CPP}
 (@file{*.S}).
 
-The variable @code{CCAS} holds the name of the compiler used to build
-assembly code.  This compiler must work a bit like a C compiler; in
-particular it must accept @samp{-c} and @samp{-o}.  The value of
-@code{CCASFLAGS} (and @code{CPPFLAGS} for preprocessed files) is passed
-to the compilation.
 @vindex CCAS
 @vindex CCASFLAGS
 @vindex CPPFLAGS
+@vindex AM_CCASFLAGS
+@vindex AM_CPPFLAGS
+The variable @code{CCAS} holds the name of the compiler used to build
+assembly code.  This compiler must work a bit like a C compiler; in
+particular it must accept @samp{-c} and @samp{-o}.  The values of
+@code{CCASFLAGS} and @code{AM_CCASFLAGS} (or its per-target
+definition) is passed to the compilation.  For preprocessed files,
+@code{CPPFLAGS} and @code{AM_CPPFLAGS} are also used.
 
-You are required to set @code{CCAS} and @code{CCASFLAGS} via
-@file{configure.ac}.  The autoconf macro @code{AM_PROG_AS} will do this
-for you.  Unless they are already set, it simply sets @code{CCAS} to the
-C compiler and @code{CCASFLAGS} to the C compiler flags.
+The autoconf macro @code{AM_PROG_AS} will define @code{CCAS} and
+@code{CCASFLAGS} for you (unless they are already set, it simply sets
+@code{CCAS} to the C compiler and @code{CCASFLAGS} to the C compiler
+flags), but you are free to define these variables by other means.
 
 Only the suffixes @file{.s} and @file{.S} are recognized by
 @code{automake} as being files containing assembly code.
@@ -4272,7 +4282,8 @@ Automatic selection of the appropriate linker flags (e.g. @samp{-L} and
 @samp{-l}) to pass to the automatically selected linker in order to link
 in the appropriate Fortran 77 intrinsic and run-time libraries.
 
-@cindex FLIBS, defined
+@cindex @code{FLIBS}, defined
+@vindex FLIBS
 These extra Fortran 77 linker flags are supplied in the output variable
 @code{FLIBS} by the @code{AC_F77_LIBRARY_LDFLAGS} Autoconf macro
 supplied with newer versions of Autoconf (Autoconf version 2.13 and
@@ -4508,12 +4519,12 @@ The @code{ansi2knr} program is simple-minded.  It assumes the source
 code will be formatted in a particular way; see the @code{ansi2knr} man
 page for details.
 
+@acindex AM_C_PROTOTYPES
 Support for de-ANSI-fication requires the source files @file{ansi2knr.c}
 and @file{ansi2knr.1} to be in the same package as the ANSI C source;
 these files are distributed with Automake.  Also, the package
 @file{configure.ac} must call the macro @code{AM_C_PROTOTYPES}
 (@pxref{Macros}).
-@cvindex AM_C_PROTOTYPES
 
 Automake also handles finding the @code{ansi2knr} support files in some
 other directory in the current package.  This is done by prepending the
@@ -4568,7 +4579,7 @@ source tree for you.  If @code{depcomp} can't figure out how to properly
 invoke your compiler, dependency tracking will simply be disabled for
 your build.
 
-@cindex depcomp
+@cindex @command{depcomp}
 
 Experience with earlier versions of Automake (@pxref{Dependency
 Tracking Evolution}) taught us that it is not reliable to generate
@@ -4671,9 +4682,10 @@ distribution.
 @node Scripts
 @section Executable Scripts
 
-@cindex _SCRIPTS primary, defined
-@cindex SCRIPTS primary, defined
-@cindex Primary variable, SCRIPTS
+@cindex @code{_SCRIPTS} primary, defined
+@cindex @code{SCRIPTS} primary, defined
+@cindex Primary variable, @code{SCRIPTS}
+@vindex _SCRIPTS
 
 It is possible to define and install programs which are scripts.  Such
 programs are listed using the @samp{SCRIPTS} primary name.  Automake
@@ -4713,7 +4725,7 @@ instance the following @file{Makefile.am} declares that
 dist_sbin_SCRIPTS = my_script
 @end example
 
-@cindex SCRIPTS, installation directories
+@cindex @code{SCRIPTS}, installation directories
 @cindex Installing scripts
 
 @vindex bin_SCRIPTS
@@ -4734,12 +4746,12 @@ Scripts that need not being installed can be listed in
 @node Headers
 @section Header files
 
-@cindex _HEADERS primary, defined
-@cindex HEADERS primary, defined
-@cindex Primary variable, HEADERS
-
+@cindex @code{_HEADERS} primary, defined
+@cindex @code{HEADERS} primary, defined
+@cindex Primary variable, @code{HEADERS}
+@vindex _HEADERS
 @vindex noinst_HEADERS
-@cindex HEADERS, installation directories
+@cindex @code{HEADERS}, installation directories
 @cindex Installing headers
 @vindex include_HEADERS
 @vindex oldinclude_HEADERS
@@ -4795,9 +4807,10 @@ used, see @xref{Sources}.
 @node Data
 @section Architecture-independent data files
 
-@cindex _DATA primary, defined
-@cindex DATA primary, defined
-@cindex Primary variable, DATA
+@cindex @code{_DATA} primary, defined
+@cindex @code{DATA} primary, defined
+@cindex Primary variable, @code{DATA}
+@vindex _DATA
 
 Automake supports the installation of miscellaneous data files using the
 @samp{DATA} family of variables.
@@ -4850,7 +4863,7 @@ compiler can't find @file{foo.h}. @command{make} failed to trigger the
 rule to build @file{foo.h} first by lack of dependency information.
 
 @vindex BUILT_SOURCES
-@cindex BUILT_SOURCES, defined
+@cindex @code{BUILT_SOURCES}, defined
 
 The @code{BUILT_SOURCES} variable is a workaround for this problem.  A
 source file listed in @code{BUILT_SOURCES} is made on @code{make all}
@@ -5102,11 +5115,11 @@ use in GNU programs, it tries hard to interoperate with other GNU tools.
 @node Emacs Lisp
 @section Emacs Lisp
 
-@cindex _LISP primary, defined
-@cindex LISP primary, defined
-@cindex Primary variable, LISP
+@cindex @code{_LISP} primary, defined
+@cindex @code{LISP} primary, defined
+@cindex Primary variable, @code{LISP}
 
-@vindex LISP
+@vindex _LISP
 @vindex lisp_LISP
 @vindex noinst_LISP
 
@@ -5184,9 +5197,9 @@ libtool, The Libtool Manual}) with the @samp{LTLIBRARIES} primary.
 @node Java
 @section Java
 
-@cindex _JAVA primary, defined
-@cindex JAVA primary, defined
-@cindex Primary variable, JAVA
+@cindex @code{_JAVA} primary, defined
+@cindex @code{JAVA} primary, defined
+@cindex Primary variable, @code{JAVA}
 
 Automake provides some minimal support for Java compilation with the
 @samp{JAVA} primary.
@@ -5195,8 +5208,8 @@ Any @file{.java} files listed in a @samp{_JAVA} variable will be
 compiled with @code{JAVAC} at build time.  By default, @file{.class}
 files are not included in the distribution.
 
-@cindex JAVA restrictions
-@cindex Restrictions for JAVA
+@cindex @code{JAVA} restrictions
+@cindex Restrictions for @code{JAVA}
 
 Currently Automake enforces the restriction that only one @samp{_JAVA}
 primary can be used in a given @file{Makefile.am}.  The reason for this
@@ -5236,10 +5249,10 @@ This variable is an @code{sh} expression which is used to set the
 @node Python
 @section Python
 
-@cindex _PYTHON primary, defined
-@cindex PYTHON primary, defined
-@cindex Primary variable, PYTHON
-
+@cindex @code{_PYTHON} primary, defined
+@cindex @code{PYTHON} primary, defined
+@cindex Primary variable, @code{PYTHON}
+@vindex _PYTHON
 
 Automake provides support for Python compilation with the @samp{PYTHON}
 primary.
@@ -5361,13 +5374,15 @@ Currently Automake provides support for Texinfo and man pages.
 @node Texinfo
 @section Texinfo
 
-@cindex _TEXINFOS primary, defined
-@cindex TEXINFOS primary, defined
-@cindex Primary variable, TEXINFOS
+@cindex @code{_TEXINFOS} primary, defined
+@cindex @code{TEXINFOS} primary, defined
+@cindex Primary variable, @code{TEXINFOS}
 @cindex HTML output using Texinfo
 @cindex PDF output using Texinfo
 @cindex PS output using Texinfo
 @cindex DVI output using Texinfo
+@vindex _TEXINFOS
+@vindex info_TEXINFOS
 
 If the current directory contains Texinfo source, you must declare it
 with the @samp{TEXINFOS} primary.  Generally Texinfo files are converted
@@ -5375,8 +5390,6 @@ into info, and thus the @code{info_TEXINFOS} variable is most commonly used
 here.  Any Texinfo source file must end in the @file{.texi},
 @file{.txi}, or @file{.texinfo} extension.  We recommend @file{.texi}
 for new manuals.
-@vindex TEXINFOS
-@vindex info_TEXINFOS
 
 Automake generates rules to build @file{.info}, @file{.dvi}, @file{.ps},
 @file{.pdf} and @file{.html} files from your Texinfo sources.
@@ -5385,17 +5398,17 @@ by @code{make install} (unless you use @code{no-installinfo}, see below).
 The other files can be built on request by @code{make dvi}, @code{make ps},
 @code{make pdf} and @code{make html}.
 
-@cindex Texinfo flag, VERSION
-@cindex Texinfo flag, UPDATED
-@cindex Texinfo flag, EDITION
-@cindex Texinfo flag, UPDATED-MONTH
+@cindex Texinfo flag, @code{VERSION}
+@cindex Texinfo flag, @code{UPDATED}
+@cindex Texinfo flag, @code{EDITION}
+@cindex Texinfo flag, @code{UPDATED-MONTH}
 
-@cindex VERSION Texinfo flag
-@cindex UPDATED Texinfo flag
-@cindex EDITION Texinfo flag
-@cindex UPDATED-MONTH Texinfo flag
+@cindex @code{VERSION} Texinfo flag
+@cindex @code{UPDATED} Texinfo flag
+@cindex @code{EDITION} Texinfo flag
+@cindex @code{UPDATED-MONTH} Texinfo flag
 
-@cindex mdate-sh
+@cindex @file{mdate-sh}
 
 If the @file{.texi} file @code{@@include}s @file{version.texi}, then
 that file will be automatically generated.  The file @file{version.texi}
@@ -5439,7 +5452,7 @@ info_TEXINFOS = hello.texi
 hello_TEXINFOS = gpl.texi
 @end example
 
-@cindex texinfo.tex
+@cindex @file{texinfo.tex}
 
 By default, Automake requires the file @file{texinfo.tex} to appear in
 the same directory as the Texinfo source (this can be changed using the
@@ -5456,12 +5469,10 @@ requirement for @file{texinfo.tex}.  Use of the variable
 @code{TEXINFO_TEX} is preferable, however, because that allows the
 @code{dvi}, @code{ps}, and @code{pdf} targets to still work.
 
-@cindex Rule, install-info
-@cindex Rule, noinstall-info
-@cindex Target, install-info
-@cindex Target, noinstall-info
-@cindex install-info target
-@cindex noinstall-info target
+@cindex Option, @code{noinstall-info}
+@cindex Target, @code{install-info}
+@cindex @code{install-info} target
+@cindex @code{noinstall-info} option
 
 @opindex no-installinfo
 @trindex install-info
@@ -5539,17 +5550,17 @@ TEXINFO_TEX = ../doc/texinfo.tex
 @node Man pages
 @section Man pages
 
-@cindex _MANS primary, defined
-@cindex MANS primary, defined
-@cindex Primary variable, MANS
+@cindex @code{_MANS} primary, defined
+@cindex @code{MANS} primary, defined
+@cindex Primary variable, @code{MANS}
 
+@vindex _MANS
+@vindex man_MANS
 A package can also include man pages (but see the GNU standards on this
 matter, @ref{Man Pages, , , standards, The GNU Coding Standards}.)  Man
 pages are declared using the @samp{MANS} primary.  Generally the
 @code{man_MANS} variable is used.  Man pages are automatically installed in
 the correct subdirectory of @code{mandir}, based on the file extension.
-@vindex MANS
-@vindex man_MANS
 
 File extensions such as @samp{.1c} are handled by looking for the valid
 part of the extension and using that to determine the correct
@@ -5574,12 +5585,12 @@ man1_MANS = rename.man thesame.1 alsothesame.1c
 In this case, @file{rename.man} will be renamed to @file{rename.1} when
 installed, but the other files will keep their names.
 
-@cindex Rule, install-man
-@cindex Rule, noinstall-man
-@cindex Target, install-man
-@cindex Target, noinstall-man
-@cindex install-man target
-@cindex noinstall-man target
+@cindex Target, @code{install-man}
+@cindex Option, @code{noinstall-man}
+@cindex @code{install-man} target
+@cindex @code{noinstall-man} option
+@opindex no-installman
+@trindex install-man
 
 @c Use @samp{make install} per documentation: (texi)code.
 By default, man pages are installed by @samp{make install}.  However,
@@ -5588,11 +5599,9 @@ not expend effort to keep the man pages up to date.  In these cases, the
 @code{no-installman} option will prevent the man pages from being
 installed by default.  The user can still explicitly install them via
 @samp{make install-man}.
-@opindex no-installman
-@trindex install-man
 
-Here is how the man pages are handled in GNU @code{cpio} (which includes
-both Texinfo documentation and man pages):
+Here is how the man pages are handled in GNU @command{cpio} (which
+includes both Texinfo documentation and man pages):
 
 @example
 man_MANS = cpio.1 mt.1
@@ -5612,7 +5621,7 @@ disallowed.
 @chapter What Gets Installed
 
 @cindex Installation support
-@cindex make install support
+@cindex @code{make install} support
 
 @section Basics of installation
 
@@ -5742,7 +5751,7 @@ packaging tool.
 @node Clean
 @chapter What Gets Cleaned
 
-@cindex make clean support
+@cindex @code{make clean} support
 
 The GNU Makefile Standards specify a number of different clean rules.
 See @xref{Standard Targets, , Standard Targets for Users, standards,
@@ -5807,20 +5816,25 @@ We recommend that you follow this same set of heuristics in your
 
 @section Basics of distribution
 
-@cindex make dist
+@cindex @code{make dist}
 
+@vindex PACKAGE
+@vindex VERSION
+@trindex dist
 The @code{dist} rule in the generated @file{Makefile.in} can be used
 to generate a gzip'd @code{tar} file and other flavors of archive for
 distribution.  The files is named based on the @samp{PACKAGE} and
 @samp{VERSION} variables defined by @code{AM_INIT_AUTOMAKE}
 (@pxref{Macros}); more precisely the gzip'd @code{tar} file is named
 @samp{@var{package}-@var{version}.tar.gz}.
-@cvindex PACKAGE
-@cvindex VERSION
-@trindex dist
+@vindex GZIP_ENV
 You can use the @code{make} variable @samp{GZIP_ENV} to control how gzip
 is run.  The default setting is @samp{--best}.
 
+@cindex @code{m4_include}, distribution
+@cindex @code{include}, distribution
+@acindex m4_include
+@cmindex include
 For the most part, the files to distribute are automatically found by
 Automake: all source files are automatically included in a distribution,
 as are all @file{Makefile.am}s and @file{Makefile.in}s.  Automake also
@@ -5835,8 +5849,7 @@ automatically distributed.  Files included in @file{Makefile.am}s (using
 helper scripts installed with @samp{automake --add-missing} are also
 distributed.
 
-@cvindex m4_include, distribution
-
+@vindex EXTRA_DIST
 Still, sometimes there are files which must be distributed, but which
 are not covered in the automatic rules.  These files should be listed in
 the @code{EXTRA_DIST} variable.  You can mention files from
@@ -5847,8 +5860,9 @@ entire directory will be recursively copied into the distribution.
 Please note that this will also copy @emph{everything} in the directory,
 including CVS/RCS version control files.  We recommend against using
 this feature.
-@vindex EXTRA_DIST
 
+@vindex SUBDIRS
+@vindex DIST_SUBDIRS
 If you define @code{SUBDIRS}, Automake will recursively include the
 subdirectories in the distribution.  If @code{SUBDIRS} is defined
 conditionally (@pxref{Conditionals}), Automake will normally include
@@ -5857,11 +5871,12 @@ distribution.  If you need to specify the set of directories
 conditionally, you can set the variable @code{DIST_SUBDIRS} to the
 exact list of subdirectories to include in the distribution
 (@pxref{Conditional Subdirectories}).
-@vindex DIST_SUBDIRS
 
 
 @section Fine-grained distribution control
 
+@vindex dist_
+@vindex nodist_
 Sometimes you need tighter control over what does @emph{not} go into the
 distribution; for instance you might have source files which are
 generated and which you do not want to distribute.  In this case
@@ -5870,8 +5885,6 @@ Automake gives fine-grained control using the @samp{dist} and
 prefixed with @samp{dist_} to add the listed files to the distribution.
 Similarly, @samp{nodist_} can be used to omit the files from the
 distribution.
-@vindex dist_
-@vindex nodist_
 
 As an example, here is how you would cause some data to be distributed
 while leaving some source code out of the distribution:
@@ -5934,25 +5947,26 @@ dist} was run, not to any sub-packages involved.
 
 @section Checking the distribution
 
-@cindex make distcheck
-@cindex make distcleancheck
+@cindex @code{make distcheck}
+@cindex @code{make distcleancheck}
 @vindex distcleancheck_listfiles
-@cindex make distuninstallcheck
+@cindex @code{make distuninstallcheck}
 @vindex distuninstallcheck_listfiles
 
+@trindex distcheck
 Automake also generates a @code{distcheck} rule which can be of help
 to ensure that a given distribution will actually work.
 @code{distcheck} makes a distribution, then tries to do a @code{VPATH}
 build, run the test suite, and finally make another tarfile to ensure the
 distribution is self-contained.
-@trindex distcheck
 
+@vindex DISTCHECK_CONFIGURE_FLAGS
 Building the package involves running @code{./configure}.  If you need
 to supply additional flags to @code{configure}, define them in the
 @code{DISTCHECK_CONFIGURE_FLAGS} variable, either in your top-level
 @file{Makefile.am}, or on the command line when invoking @code{make}.
-@vindex DISTCHECK_CONFIGURE_FLAGS
 
+@trindex distcheck-hook
 If the @code{distcheck-hook} rule is defined in your top-level
 @file{Makefile.am}, then it will be invoked by @code{distcheck} after
 the new distribution has been unpacked, but before the unpacked copy
@@ -5964,7 +5978,9 @@ standard mechanism.  Note that @code{distcheck-hook} as well as
 @file{Makefile.am}, but the @code{DISTCHECK_CONFIGURE_FLAGS} are
 passed down to the @code{configure} script of the subpackage.
 
-
+@trindex distcleancheck
+@vindex DISTCLEANFILES
+@vindex distcleancheck_listfiles
 Speaking about potential distribution errors, @code{distcheck} will also
 ensure that the @code{distclean} rule actually removes all built
 files.  This is done by running @code{make distcleancheck} at the end of
@@ -5973,7 +5989,6 @@ the @code{VPATH} build.  By default, @code{distcleancheck} will run
 running @code{$(distcleancheck_listfiles)}.  Usually this check will
 find generated files that you forgot to add to the @code{DISTCLEANFILES}
 variable (@pxref{Clean}).
-@trindex distcleancheck
 
 The @code{distcleancheck} behavior should be OK for most packages,
 otherwise you have the possibility to override the definition of
@@ -5981,7 +5996,6 @@ either the @code{distcleancheck} rule, or the
 @code{$(distcleancheck_listfiles)} variable.  For instance to disable
 @code{distcleancheck} completely, add the following rule to your
 top-level @file{Makefile.am}:
-@vindex distcleancheck_listfiles
 
 @example
 distcleancheck:
@@ -6063,7 +6077,8 @@ default, only the @code{dist-gzip} target is hooked to @code{dist}.
 @chapter Support for test suites
 
 @cindex Test suites
-@cindex make check
+@cindex @code{make check}
+@trindex check
 
 Automake supports two forms of test suites.
 
@@ -6167,7 +6182,7 @@ to this by writing an @code{installcheck-local} rule.
 Automake generates rules to automatically rebuild @file{Makefile}s,
 @file{configure}, and other derived files like @file{Makefile.in}.
 
-@cvindex AM_MAINTAINER_MODE
+@acindex AM_MAINTAINER_MODE
 If you are using @code{AM_MAINTAINER_MODE} in @file{configure.ac}, then
 these automatic rebuilding rules are only enabled in maintainer mode.
 
@@ -6271,17 +6286,22 @@ options are:
 @itemx @code{gnu}
 @itemx @code{foreign}
 @itemx @code{cygnus}
-@cindex Option, gnits
-@cindex Option, gnu
-@cindex Option, foreign
-@cindex Option, cygnus
+@cindex Option, @code{gnits}
+@cindex Option, @code{gnu}
+@cindex Option, @code{foreign}
+@cindex Option, @code{cygnus}
+@opindex gnits
+@opindex gnu
+@opindex foreign
+@opindex cygnus
 
 Set the strictness as appropriate.  The @code{gnits} option also implies
 @code{readme-alpha} and @code{check-news}.
 
 @item @code{ansi2knr}
 @itemx @code{@var{path}/ansi2knr}
-@cindex Option, ansi2knr
+@cindex Option, @code{ansi2knr}
+@opindex ansi2knr
 Turn on automatic de-ANSI-fication.  @xref{ANSI}.  If preceded by a
 path, the generated @file{Makefile.in} will look in the specified
 directory to find the @file{ansi2knr} program.  The path should be a
@@ -6289,37 +6309,43 @@ relative path to another directory in the same distribution (Automake
 currently does not check this).
 
 @item @code{check-news}
-@cindex Option, check-news
+@cindex Option, @code{check-news}
+@opindex check-news
 Cause @code{make dist} to fail unless the current version number appears
 in the first few lines of the @file{NEWS} file.
 
 @item @code{dejagnu}
-@cindex Option, dejagnu
+@cindex Option, @code{dejagnu}
+@opindex dejagnu
 Cause @code{dejagnu}-specific rules to be generated.  @xref{Tests}.
 
 @item @code{dist-bzip2}
-@cindex Option, dist-bzip2
+@cindex Option, @code{dist-bzip2}
+@opindex dist-bzip2
 Hook @code{dist-bzip2} to @code{dist}.
 @trindex dist-bzip2
 
 @item @code{dist-shar}
-@cindex Option, dist-shar
+@cindex Option, @code{dist-shar}
+@opindex dist-shar
 Hook @code{dist-shar} to @code{dist}.
 @trindex dist-shar
 
 @item @code{dist-zip}
-@cindex Option, dist-zip
+@cindex Option, @code{dist-zip}
+@opindex dist-zip
 Hook @code{dist-zip} to @code{dist}.
 @trindex dist-zip
 
 @item @code{dist-tarZ}
-@cindex Option, dist-tarZ
+@cindex Option, @code{dist-tarZ}
+@opindex dist-tarZ
 Hook @code{dist-tarZ} to @code{dist}.
 @trindex dist-tarZ
 
 @item @code{filename-length-max=99}
-@cindex Option, filename-length-max=99
-@trindex filename-length-max=99
+@cindex Option, @code{filename-length-max=99}
+@opindex filename-length-max=99
 Abort if filenames longer than 99 characters are found during
 @code{make dist}.  Such long filenames are generally considered not to
 be portable in tarballs.  See the @code{tar-v7} and @code{tar-ustar}
@@ -6328,30 +6354,35 @@ options below.  This option should be used in the top-level
 @file{configure.ac}, it will be ignored otherwise.
 
 @item @code{no-define}
-@cindex Option, no-define
+@cindex Option, @code{no-define}
+@opindex no-define
 This options is meaningful only when passed as an argument to
 @code{AM_INIT_AUTOMAKE}.  It will prevent the @code{PACKAGE} and
 @code{VERSION} variables to be @code{AC_DEFINE}d.
 
 @item @code{no-dependencies}
-@cindex Option, no-dependencies
+@cindex Option, @code{no-dependencies}
+@opindex no-dependencies
 This is similar to using @samp{--include-deps} on the command line, but
 is useful for those situations where you don't have the necessary bits
 to make automatic dependency tracking work @xref{Dependencies}.  In this
 case the effect is to effectively disable automatic dependency tracking.
 
 @item @code{no-dist}
-@cindex Option, no-dist
+@cindex Option, @code{no-dist}
+@opindex no-dist
 Don't emit any code related to @code{dist} target.  This is useful
 when a package has its own method for making distributions.
 
 @item @code{no-dist-gzip}
-@cindex Option, no-dist-gzip
+@cindex Option, @code{no-dist-gzip}
+@opindex no-dist-gzip
 Do not hook @code{dist-gzip} to @code{dist}.
 @trindex no-dist-gzip
 
 @item @code{no-exeext}
-@cindex Option, no-exeext
+@cindex Option, @code{no-exeext}
+@opindex no-exeext
 If your @file{Makefile.am} defines a rule for target @samp{foo}, it
 will override a rule for a target named @samp{foo$(EXEEXT)}.  This is
 necessary when @code{EXEEXT} is found to be empty.  However, by
@@ -6362,7 +6393,8 @@ ported to Windows, or any other operating system using extensions on
 executables.
 
 @item @code{no-installinfo}
-@cindex Option, no-installinfo
+@cindex Option, @code{no-installinfo}
+@opindex no-installinfo
 The generated @file{Makefile.in} will not cause info pages to be built
 or installed by default.  However, @code{info} and @code{install-info}
 targets will still be available.  This option is disallowed at
@@ -6371,7 +6403,8 @@ targets will still be available.  This option is disallowed at
 @trindex install-info
 
 @item @code{no-installman}
-@cindex Option, no-installman
+@cindex Option, @code{no-installman}
+@opindex no-installman
 The generated @file{Makefile.in} will not cause man pages to be
 installed by default.  However, an @code{install-man} target will still
 be available for optional installation.  This option is disallowed at
@@ -6379,17 +6412,20 @@ be available for optional installation.  This option is disallowed at
 @trindex install-man
 
 @item @code{nostdinc}
-@cindex Option, nostdinc
+@cindex Option, @code{nostdinc}
+@opindex nostdinc
 This option can be used to disable the standard @samp{-I} options which
 are ordinarily automatically provided by Automake.
 
 @item @code{no-texinfo.tex}
-@cindex Option, no-texinfo
+@cindex Option, @code{no-texinfo.tex}
+@opindex no-texinfo.tex
 Don't require @file{texinfo.tex}, even if there are texinfo files in
 this directory.
 
 @item @code{readme-alpha}
-@cindex Option, readme-alpha
+@cindex Option, @code{readme-alpha}
+@opindex readme-alpha
 If this release is an alpha release, and the file @file{README-alpha}
 exists, then it will be added to the distribution.  If this option is
 given, version numbers are expected to follow one of two forms.  The
@@ -6400,8 +6436,12 @@ non-alpha releases.  The second form is
 letter; it should be omitted for non-alpha releases.
 
 @item @code{std-options}
-@cindex Options, std-options
-@cindex make installcheck
+@cindex Options, @code{std-options}
+@cindex @code{make installcheck}, testing @code{--help} and @code{--version}
+@cindex @code{--help} check
+@cindex @code{--version} check
+@opindex std-options
+
 Make the @code{installcheck} rule check that installed scripts and
 programs support the @code{--help} and @code{--version} options.
 This also provides a basic check that the program's
@@ -6425,6 +6465,8 @@ AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = false$(EXEEXT) true.sh
 @end example
 
 @item @code{subdir-objects}
+@cindex Options, @code{subdir-objects}
+@opindex subdir-objects
 If this option is specified, then objects are placed into the
 subdirectory of the build directory corresponding to the subdirectory of
 the source file.  For instance if the source file is
@@ -6437,16 +6479,16 @@ In order to use this option with C sources, you should add
 @item @code{tar-v7}
 @itemx @code{tar-ustar}
 @itemx @code{tar-pax}
-@cindex Option, tar-v7
-@cindex Option, tar-ustar
-@cindex Option, tar-pax
-@cindex tar formats
-@cindex v7 tar format
+@cindex Option, @code{tar-v7}
+@cindex Option, @code{tar-ustar}
+@cindex Option, @code{tar-pax}
+@cindex @command{tar} formats
+@cindex v7 @command{tar} format
 @cindex ustar format
 @cindex pax format
-@trindex tar-v7
-@trindex tar-ustar
-@trindex tar-pax
+@opindex tar-v7
+@opindex tar-ustar
+@opindex tar-pax
 
 These three mutually exclusive options select the tar format to use
 when generating tarballs with @code{make dist}.  (The tar file created
@@ -6493,13 +6535,15 @@ will not abort if it cannot find a tool up to the task (so that the
 package can still be built), but @code{make dist} will fail.
 
 @item @var{version}
-@cindex Option, version
+@cindex Option, @var{version}
 A version number (e.g. @samp{0.30}) can be specified.  If Automake is not
 newer than the version specified, creation of the @file{Makefile.in}
 will be suppressed.
 
 @item @code{-W@var{category}} or @code{--warnings=@var{category}}
 @cindex Option, warnings
+@cindex Option, @code{-W@var{category}}
+@cindex Option, @code{--warnings=@var{category}}
 These options behave exactly like their command-line counterpart
 (@pxref{Invoking Automake}).  This allows you to enable or disable some
 warning categories on a per-file basis.  You can also setup some warnings
@@ -6530,7 +6574,7 @@ There are a few rules and variables that didn't fit anywhere else.
 @node Tags
 @section Interfacing to @code{etags}
 
-@cindex TAGS support
+@cindex @file{TAGS} support
 
 Automake will generate rules to generate @file{TAGS} files for use with
 GNU Emacs under some circumstances.
@@ -6593,8 +6637,8 @@ variable @code{GTAGS_ARGS} holds arguments which are passed to
 @node Suffixes
 @section Handling new file extensions
 
-@cindex Adding new SUFFIXES
-@cindex SUFFIXES, adding
+@cindex Adding new @code{SUFFIXES}
+@cindex @code{SUFFIXES}, adding
 @vindex SUFFIXES
 
 It is sometimes useful to introduce a new implicit rule to handle a file
@@ -6659,8 +6703,8 @@ familiar with multilibs and can debug problems you might encounter.
 @chapter Include
 
 @cmindex include
-@cindex Including Makefile fragment
-@cindex Makefile fragment, including
+@cindex Including @file{Makefile} fragment
+@cindex @file{Makefile} fragment, including
 
 Automake supports an @code{include} directive which can be used to
 include other @file{Makefile} fragments when @code{automake} is run.
@@ -6692,7 +6736,7 @@ there are needed to rebuild @file{Makefile.in}.
 
 Automake supports a simple type of conditionals.
 
-@cvindex AM_CONDITIONAL
+@acindex AM_CONDITIONAL
 Before using a conditional, you must define it by using
 @code{AM_CONDITIONAL} in the @code{configure.ac} file (@pxref{Macros}).
 
@@ -6710,9 +6754,9 @@ conditionally (e.g., in a shell @code{if} statement), then the result
 will confuse automake.
 @end defmac
 
-@cindex --enable-debug, example
-@cindex Example conditional --enable-debug
-@cindex Conditional example,  --enable-debug
+@cindex @code{--enable-debug}, example
+@cindex Example conditional @code{--enable-debug}
+@cindex Conditional example, @code{--enable-debug}
 
 Conditionals typically depend upon options which the user provides to
 the @code{configure} script.  Here is an example of how to write a
@@ -6781,8 +6825,8 @@ Automake conditionals will work with any make program.
 @node Gnits
 @chapter The effect of @code{--gnu} and @code{--gnits}
 
-@cindex --gnu, required files
-@cindex --gnu, complete description
+@cindex @code{--gnu}, required files
+@cindex @code{--gnu}, complete description
 
 The @samp{--gnu} option (or @samp{gnu} in the @samp{AUTOMAKE_OPTIONS}
 variable) causes @code{automake} to check the following:
@@ -6805,7 +6849,7 @@ non-standard GNU programs to exist for use by various maintainer-only
 rules; for instance in the future @code{pathchk} might be required for
 @samp{make dist}.
 
-@cindex --gnits, complete description
+@cindex @code{--gnits}, complete description
 
 The @samp{--gnits} option does everything that @samp{--gnu} does, and
 checks the following as well:
@@ -6826,7 +6870,7 @@ standards.
 @c FIXME xref when standards are finished
 
 @item
-@cindex README-alpha
+@cindex @file{README-alpha}
 If @samp{VERSION} indicates that this is an alpha release, and the file
 @file{README-alpha} appears in the topmost directory of a package, then
 it is included in the distribution.  This is done in @samp{--gnits}
@@ -6843,7 +6887,7 @@ The file @file{THANKS} is required.
 @node Cygnus
 @chapter The effect of @code{--cygnus}
 
-@cindex Cygnus strictness
+@cindex @code{cygnus} strictness
 
 Some packages, notably GNU GCC and GNU gdb, have a build environment
 originally written at Cygnus Support (subsequently renamed Cygnus
@@ -6955,7 +6999,7 @@ commands and rules that only specify dependencies.  So it is not
 possible to append new dependencies to an @code{automake}-defined
 target without redefining the entire rule.
 
-@cindex -local targets
+@cindex @code{-local} targets
 @cindex local targets
 
 However, various useful targets have a @samp{-local} version you can
@@ -7010,7 +7054,7 @@ install-data-local:
         $(INSTALL_DATA) $(srcdir)/afile $(DESTDIR)/etc/afile
 @end example
 
-@cindex -hook targets
+@cindex @code{-hook} targets
 @cindex hook targets
 
 Some rule also have a way to run another rule, called a @dfn{hook},
@@ -7042,7 +7086,7 @@ Checks, autoconf, The Autoconf Manual}) and use @code{$(LN_S)} in
 
 @cindex versioned binaries, installing
 @cindex installing versioned binaries
-@cindex LN_S example
+@cindex @code{LN_S} example
 For instance, here is how you could install a versioned copy of a
 program using @code{$(LN_S)}:
 
@@ -7217,10 +7261,10 @@ it's OK to rename the original @file{Makefile}) or with @code{cd
 subdir && $(MAKE) $(AM_MAKEFLAGS) target} (if it's OK to store the
 subdirectory project one directory deeper).  The good news is that
 this proxy @file{Makefile} can be generated with Automake.  All we
-need are -local targets (@pxref{Extending}) that perform the dispatch.
-Of course the other Automake features are available, so you could
-decide to let Automake perform distribution or installation.  Here is
-a possible @file{Makefile.am}:
+need are @code{-local} targets (@pxref{Extending}) that perform the
+dispatch.  Of course the other Automake features are available, so you
+could decide to let Automake perform distribution or installation.
+Here is a possible @file{Makefile.am}:
 
 @example
 all-local:
@@ -7564,7 +7608,7 @@ Issues, Integrating with CVS, gettext, GNU gettext tools}.
 @section @command{missing} and @code{AM_MAINTAINER_MODE}
 
 @subsection @command{missing}
-@cindex missing, purpose
+@cindex @command{missing}, purpose
 
 The @command{missing} script is a wrapper around several maintainer
 tools, designed to warn users if a maintainer tool is required but
@@ -7593,8 +7637,8 @@ the build continue is one of the arguments of the
 @code{AM_MAINTAINER_MODE} advocates.
 
 @subsection @code{AM_MAINTAINER_MODE}
-@cindex AM_MAINTAINER_MODE, purpose
-@cvindex AM_MAINTAINER_MODE
+@cindex @code{AM_MAINTAINER_MODE}, purpose
+@acindex AM_MAINTAINER_MODE
 
 @code{AM_MAINTAINER_MODE} disables the so called "rebuild rules" by
 default.  If you have @code{AM_MAINTAINER_MODE} in
@@ -7718,7 +7762,8 @@ You can get warnings about @code{$(wildcard ...}) constructs using the
 
 @node distcleancheck
 @section Files left in build directory after distclean
-@cindex distclean, diagnostic
+@cindex @code{distclean}, diagnostic
+@cindex @code{make distclean}, diagnostic
 @cindex dependencies and distributed files
 @trindex distclean
 @trindex distcleancheck
@@ -7886,6 +7931,8 @@ flags, not appended.
 @end display
 
 @subsection Compile Flag Variables
+@cindex Flag Variables, Ordering
+@cindex Compile Flag Variables
 @cindex @code{AM_CCASFLAGS} and @code{CCASFLAGS}
 @cindex @code{AM_CFLAGS} and @code{CFLAGS}
 @cindex @code{AM_CPPFLAGS} and @code{CPPFLAGS}
@@ -9467,12 +9514,18 @@ The number of test cases in the test suite.
 @appendix Indices
 
 @menu
-* Macro and Variable Index::    Index of Autoconf macros and Automake variables
+* Macro Index::                 Index of Autoconf macros
+* Variable Index::              Index of Makefile variables
 * General Index::               General index
 @end menu
 
-@node Macro and Variable Index
-@appendixsec Macro and Variable Index
+@node Macro Index
+@appendixsec Macro Index
+
+@printindex fn
+
+@node Variable Index
+@appendixsec Variable Index
 
 @printindex vr
 
@@ -9492,7 +9545,7 @@ The number of test cases in the test suite.
 @c  LocalWords:  dir Automake's ac Dist Gnits gnits cygnus dfn Autoconf's pxref
 @c  LocalWords:  cindex Autoconf autoconf perl samp cvs dist trindex SUBST foo
 @c  LocalWords:  xs emph FIXME ref vindex pkglibdir pkgincludedir pkgdatadir mt
-@c  LocalWords:  pkg libdir cvindex cpio bindir sbindir rmt pax sbin zar zardir
+@c  LocalWords:  pkg libdir cpio bindir sbindir rmt pax sbin zar zardir acindex
 @c  LocalWords:  HTML htmldir html noinst TEXINFOS nodist nobase strudel CFLAGS
 @c  LocalWords:  libmumble CC YFLAGS ansi knr itemx de fication config url comp
 @c  LocalWords:  depcomp elisp sh mdate mkinstalldirs mkdir py tex dvi ps pdf
@@ -9561,4 +9614,5 @@ The number of test cases in the test suite.
 @c  LocalWords:  syscalls perlhist acl pm multitable headitem fdl appendixsec
 @c  LocalWords:  LTALLOCA MALLOC malloc memcmp strdup alloca libcompat xyz DFOO
 @c  LocalWords:  unprefixed buildable preprocessed DBAZ DDATADIR WARNINGCFLAGS
-@c  LocalWords:  LIBFOOCFLAGS LIBFOOLDFLAGS
+@c  LocalWords:  LIBFOOCFLAGS LIBFOOLDFLAGS ftable maintainerclean testSubDir
+@c  LocalWords:  barexec Pinard's