* Rebuilding:: Automatic rebuilding of Makefile
* Options:: Changing Automake's behavior
* Miscellaneous:: Miscellaneous rules
-* Include:: Including extra files in an Automake template.
+* Include:: Including extra files in an Automake template
* Conditionals:: Conditionals
* Gnits:: The effect of @option{--gnu} and @option{--gnits}
* Cygnus:: The effect of @option{--cygnus}
@end example
@noindent
-(Here we assume the that installer has configured @command{sudo} so it
+(Here we assume that the installer has configured @command{sudo} so it
can execute @code{make install} with root privileges; it is more convenient
than using @command{su} like in @ref{Basic Installation}).
been created by Autoconf and friends) can be nested to arbitrary
depth.
-A typical setup is that a package A will distribute one of the libraries
+A typical setup is that package A will distribute one of the libraries
it needs in a subdirectory. This library B is a complete package with
its own GNU Build System. The @command{configure} script of A will
run the @command{configure} script of B as part of its execution,
overview on this issue),
which of course also applies to commands spawned by @command{make}.
POSIX requires this limit to be at least 4096 bytes, and most modern
-systems have quite high limits, if at all.
+systems have quite high limits (or are unlimited).
In order to create portable Makefiles that do not trip over these
limits, it is necessary to keep the length of file lists bounded.
@table @code
@item ansi2knr.c
@itemx ansi2knr.1
-These two files are used by the obsolete de-ANSI-fication support
-(@pxref{ANSI}).
+These two files are used for de-ANSI-fication support (obsolete
+@pxref{ANSI}).
@item compile
This is a wrapper for compilers that do not accept options @option{-c}
kernel versions. Each new release of Automake comes with up-to-date
copies of these programs. If your copy of Automake is getting old,
you are encouraged to fetch the latest versions of these files from
-@url{http://savannah.gnu.org/cvs/?group=config} before making a
+@url{http://savannah.gnu.org/git/?group=config} before making a
release.
@item config-ml.in
@item symlink-tree
This program duplicates a tree of directories, using symbolic links
-instead of copying files. Such operation is performed when building
+instead of copying files. Such an operation is performed when building
multilibs (@pxref{Multilibs}). This file is maintained in the GCC
tree at @url{http://gcc.gnu.org/svn.html}.
@end example
Note that there is no @code{true_SOURCES} definition. Automake will
-implicitly assume that there is a source file named @file{true.c}, and
+implicitly assume that there is a source file named @file{true.c}
+(@pxref{Default _SOURCES}), and
define rules to compile @file{true.o} and link @file{true}. The
@samp{true.o: true.c} rule supplied by the above @file{Makefile.am},
will override the Automake generated rule to build @file{true.o}.
@opindex -a
@opindex --add-missing
Automake requires certain common files to exist in certain situations;
-for instance, @file{config.guess} is required if @file{configure.ac} runs
+for instance, @file{config.guess} is required if @file{configure.ac} invokes
@code{AC_CANONICAL_HOST}. Automake is distributed with several of these
files (@pxref{Auxiliary Programs}); this option will cause the missing
ones to be automatically added to the package, whenever possible. In
Print the version number of Automake and exit.
@item -W CATEGORY
-@item --warnings=@var{category}
+@itemx --warnings=@var{category}
@opindex -W
@opindex --warnings
Output warnings falling in @var{category}. @var{category} can be
Files created by @code{AC_CONFIG_FILES}, be they Automake
@file{Makefile}s or not, are all removed by @samp{make distclean}.
-Their inputs are automatically distributed, except for inputs that
-turn out the be outputs of prior @code{AC_CONFIG_FILES} commands.
+Their inputs are automatically distributed, unless they
+are the output of prior @code{AC_CONFIG_FILES} commands.
Finally, rebuild rules are generated in the Automake @file{Makefile}
existing in the subdirectory of the output file, if there is one, or
in the top-level @file{Makefile} otherwise.
@command{automake} will output rules to clean @file{output}, and
rebuild it. However the rebuild rule will not depend on @file{input},
and this file will not be distributed either. (You must add
-@samp{EXTRA_DIST = input} to your @file{Makefile} if @file{input} is a
+@samp{EXTRA_DIST = input} to your @file{Makefile.am} if @file{input} is a
source file.)
Similarly
@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.
+(@pxref{Macros}); this is no longer the case.
As for @code{AC_CONFIG_FILES} (@pxref{Requirements}), parts of the
specification using shell variables will be ignored as far as
Autoconf Manual}.
@item 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
+For each @code{AC_REQUIRE_AUX_FILE([@var{file}])},
+@command{automake} will ensure that @file{@var{file}} exists in the
+aux directory, and will complain otherwise. It
will also automatically distribute the file. This macro should be
-used by third-party Autoconf macros that requires some supporting
+used by third-party Autoconf macros that require some supporting
files in the aux directory specified with @code{AC_CONFIG_AUX_DIR}
above. @xref{Input, , Finding @command{configure} Input, autoconf,
The Autoconf Manual}.
used for this variable. @xref{Setting Output Variables, , Setting
Output Variables, autoconf, The Autoconf Manual}.
-If the Autoconf manual says that a macro calls @code{AC_SUBST} for
-@var{var}, or defines the output variable @var{var} then @var{var} will
-be defined in each @file{Makefile.in} generated by Automake.
-E.g.@: @code{AC_PATH_XTRA} defines @code{X_CFLAGS} and @code{X_LIBS}, so
-you can use these variables in any @file{Makefile.am} if
-@code{AC_PATH_XTRA} is called.
+For every substituted variable @var{var}, @command{automake} will add
+a line @code{@var{var} = @var{value}} to each @file{Makefile.in} file.
+Many Autoconf macros invoke @code{AC_SUBST} to set output variables
+this way, e.g., @code{AC_PATH_XTRA} defines @code{X_CFLAGS} and
+@code{X_LIBS}. Thus, you can access these variables as
+@code{$(X_CFLAGS)} and @code{$(X_LIBS)} in any @file{Makefile.am}
+if @code{AC_PATH_XTRA} is called.
@item AM_C_PROTOTYPES
This is required when using the obsolete de-ANSI-fication feature; see