This manual is for @acronym{GNU} Automake (version @value{VERSION},
@value{UPDATED}), a program which creates GNU standards-compliant
-Makefiles from template files. This edition documents version
-@value{VERSION}.
+Makefiles from template files.
Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003 Free Software Foundation, Inc.
@comment node-name, next, previous, up
@top GNU Automake
-This file documents the GNU Automake package. Automake is a program
-which creates GNU standards-compliant Makefiles from template files.
-This edition documents version @value{VERSION}.
+@insertcopying
@menu
* Introduction:: Automake's purpose
* FAQ:: Frequently Asked Questions
* Copying This Manual:: How to make copies of this manual
* Indices:: Indices of variables, macros, and concepts
+
+@detailmenu
+ --- The Detailed Node Listing ---
+
+General ideas
+
+* General Operation:: General operation of Automake
+* Strictness:: Standards conformance checking
+* Uniform:: The Uniform Naming Scheme
+* Canonicalization:: How derived variables are named
+* User Variables:: Variables reserved for the user
+* Auxiliary Programs:: Programs automake might require
+
+Some example packages
+
+* Complete:: A simple example, start to finish
+* Hello:: A classic program
+* true:: Building true and false
+
+Scanning @file{configure.ac}
+
+* Requirements:: Configuration requirements
+* Optional:: Other things Automake recognizes
+* Invoking aclocal:: Auto-generating aclocal.m4
+* aclocal options:: aclocal command line arguments
+* Macro search path:: Modifying aclocal's search path
+* Macros:: Autoconf macros supplied with Automake
+* Extending aclocal:: Writing your own aclocal macros
+* Local Macros:: Organizing local macros
+* Future of aclocal:: aclocal's scheduled death
+
+Auto-generating aclocal.m4
+
+* aclocal options:: Options supported by aclocal
+* Macro search path:: How aclocal finds .m4 files
+
+Autoconf macros supplied with Automake
+
+* Public macros:: Macros that you can use.
+* Private macros:: Macros that you should not use.
+
+Building Programs and Libraries
+
+* A Program:: Building a program
+* A Library:: Building a library
+* A Shared Library:: Building a Libtool library
+* Program and Library Variables:: Variables controlling program and
+ library builds
+* Default _SOURCES:: Default source files
+* LIBOBJS:: Special handling for LIBOBJS and ALLOCA
+* Program variables:: Variables used when building a program
+* Yacc and Lex:: Yacc and Lex support
+* C++ Support:: Compiling C++ sources
+* Assembly Support:: Compiling assembly sources
+* Fortran 77 Support:: Compiling Fortran 77 sources
+* Java Support:: Compiling Java sources
+* Support for Other Languages:: Compiling other languages
+* ANSI:: Automatic de-ANSI-fication
+* Dependencies:: Automatic dependency tracking
+* EXEEXT:: Support for executable extensions
+
+Building a program
+
+* Program Sources:: Defining program sources
+* Linking:: Linking with libraries or extra objects
+* Conditional Sources:: Handling conditional sources
+* Conditional Programs:: Building program conditionally
+
+Building a Shared Library
+
+* Libtool Concept:: Introducing Libtool
+* Libtool Libraries:: Declaring Libtool Libraries
+* Conditional Libtool Libraries:: Building Libtool Libraries Conditionally
+* Conditional Libtool Sources:: Choosing Library Sources Conditionally
+* Libtool Convenience Libraries:: Building Convenience Libtool Libraries
+* Libtool Modules:: Building Libtool Modules
+* Libtool Flags:: Using _LIBADD and _LDFLAGS
+* LTLIBOBJ:: Using $(LTLIBOBJ)
+* Libtool Issues:: Common Issues Related to Libtool's Use
+
+Fortran 77 Support
+
+* Preprocessing Fortran 77:: Preprocessing Fortran 77 sources
+* Compiling Fortran 77 Files:: Compiling Fortran 77 sources
+* Mixing Fortran 77 With C and C++:: Mixing Fortran 77 With C and C++
+
+Mixing Fortran 77 With C and C++
+
+* How the Linker is Chosen:: Automatic linker selection
+
+Other Derived Objects
+
+* Scripts:: Executable scripts
+* Headers:: Header files
+* Data:: Architecture-independent data files
+* Sources:: Derived sources
+
+Built sources
+
+* Built sources example:: Several ways to handle built sources.
+
+Other GNU Tools
+
+* Emacs Lisp:: Emacs Lisp
+* gettext:: Gettext
+* Libtool:: Libtool
+* Java:: Java
+* Python:: Python
+
+Building documentation
+
+* Texinfo:: Texinfo
+* Man pages:: Man pages
+
+Miscellaneous Rules
+
+* Tags:: Interfacing to etags and mkid
+* Suffixes:: Handling new file extensions
+* Multilibs:: Support for multilibs.
+
+Frequently Asked Questions about Automake
+
+* CVS:: CVS and generated files
+* maintainer-mode:: missing and AM_MAINTAINER_MODE
+* wildcards:: Why doesn't Automake support wildcards?
+* distcleancheck:: Files left in build directory after distclean
+* renamed objects:: Why are object files sometimes renamed?
+
+Copying This Manual
+
+* GNU Free Documentation License:: License for copying this manual
+
+Indices
+
+* Macro and Variable Index:: Index of Autoconf macros and Automake variables
+* General Index:: General index
+
+@end detailmenu
@end menu
@end ifnottex
* LIBOBJS:: Special handling for LIBOBJS and ALLOCA
* Program variables:: Variables used when building a program
* Yacc and Lex:: Yacc and Lex support
-* C++ Support::
-* Assembly Support::
-* Fortran 77 Support::
-* Java Support::
-* Support for Other Languages::
+* C++ Support:: Compiling C++ sources
+* Assembly Support:: Compiling assembly sources
+* Fortran 77 Support:: Compiling Fortran 77 sources
+* Java Support:: Compiling Java sources
+* Support for Other Languages:: Compiling other languages
* ANSI:: Automatic de-ANSI-fication
* Dependencies:: Automatic dependency tracking
* EXEEXT:: Support for executable extensions
Any package including Fortran 77 code must define the output variable
@samp{F77} in @file{configure.ac}; the simplest way to do this is to use
the @code{AC_PROG_F77} macro (@pxref{Particular Programs, , Particular
-Program Checks, autoconf, The Autoconf Manual}). @xref{Fortran 77 and
-Autoconf}.
+Program Checks, autoconf, The Autoconf Manual}).
A few additional variables are defined when a Fortran 77 source file is
seen:
These issues are covered in the following sections.
@menu
-* Preprocessing Fortran 77::
-* Compiling Fortran 77 Files::
-* Mixing Fortran 77 With C and C++::
-* Fortran 77 and Autoconf::
+* Preprocessing Fortran 77:: Preprocessing Fortran 77 sources
+* Compiling Fortran 77 Files:: Compiling Fortran 77 sources
+* Mixing Fortran 77 With C and C++:: Mixing Fortran 77 With C and C++
@end menu
@page
@menu
-* How the Linker is Chosen::
+* How the Linker is Chosen:: Automatic linker selection
@end menu
@node How the Linker is Chosen
@end example
-@node Fortran 77 and Autoconf
-@comment node-name, next, previous, up
-@subsection Fortran 77 and Autoconf
-
-The current Automake support for Fortran 77 requires a recent enough
-version of Autoconf that also includes support for Fortran 77. Full
-Fortran 77 support was added to Autoconf 2.13, so you will want to use
-that version of Autoconf or later.
-
-
@node Java Support
@comment node-name, next, previous, up
@section Java Support