* Cygnus:: The effect of @code{--cygnus}
* Extending:: Extending Automake
* Distributing:: Distributing the Makefile.in
-* Future:: Some ideas for the future
* Macro and Variable Index::
* General Index::
@end menu
@menu
* General Operation:: General operation of Automake
-* Depth:: The kinds of packages
* Strictness:: Standards conformance checking
* Uniform:: The Uniform Naming Scheme
* Canonicalization:: How derived variables are named
@end menu
-@node General Operation, Depth, Generalities, Generalities
+@node General Operation, Strictness, Generalities, Generalities
@section General Operation
Automake works by reading a @file{Makefile.am} and generating a
@c FIXME document customary ordering of Makefile.am here!
-@node Depth, Strictness, General Operation, Generalities
-@section Depth
-
-@cindex Flat package
-@cindex Package, Flat
-@cindex Shallow package
-@cindex Package, shallow
-@cindex Deep package
-@cindex Package, deep
-
-@code{automake} supports three kinds of directory hierarchy:
-@samp{flat}, @samp{shallow}, and @samp{deep}.
-
-A @dfn{flat} package is one in which all the files are in a single
-directory. The @file{Makefile.am} for such a package by definition
-lacks a @code{SUBDIRS} macro. An example of such a package is
-@code{termutils}.
-@vindex SUBDIRS
-
-@cindex SUBDIRS, deep package
-
-A @dfn{deep} package is one in which all the source lies in
-subdirectories; the top level directory contains mainly configuration
-information. GNU @code{cpio} is a good example of such a package, as is
-GNU @code{tar}. The top level @file{Makefile.am} for a deep package
-will contain a @code{SUBDIRS} macro, but no other macros to define
-objects which are built.
-
-A @dfn{shallow} package is one in which the primary source resides in
-the top-level directory, while various parts (typically libraries)
-reside in subdirectories. Automake is one such package (as is GNU
-@code{make}, which does not currently use @code{automake}).
-
-
-@node Strictness, Uniform, Depth, Generalities
+@node Strictness, Uniform, General Operation, Generalities
@section Strictness
@cindex Non-GNU packages
standards}. These are based on the GNU standards, but are even more
detailed. Unless you are a Gnits standards contributor, it is
recommended that you avoid this option until such time as the Gnits
-standard is actually published.
+standard is actually published (which may never happen).
@end table
For more information on the precise implications of the strictness
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. GNU Hello is a deep package.
+has a manual and a test suite.
@cindex configure.in, from GNU Hello
@cindex GNU Hello, configure.in
directory. For instance, you cannot put @samp{src/subdir} into
@code{SUBDIRS}.
-In a deep package, the top-level @file{Makefile.am} is often very short.
-For instance, here is the @file{Makefile.am} from the GNU Hello
-distribution:
+In packages that use subdirectories, the top-level @file{Makefile.am} is
+often very short. For instance, here is the @file{Makefile.am} from the
+GNU Hello distribution:
@example
EXTRA_DIST = BUGS ChangeLog.O README-alpha
@c rules
-@node Distributing, Future, Extending, Top
+@node Distributing, Macro and Variable Index, Extending, Top
@chapter Distributing @file{Makefile.in}s
Automake places no restrictions on the distribution of the resulting
to see.
-@node Future, Macro and Variable Index, Distributing, Top
-@chapter Some ideas for the future
-
-@cindex Future directions
-
-Here are some things that might happen in the future:
-
-@itemize @bullet
-@item
-HTML support.
-
-@item
-The output will be cleaned up. For instance, only variables which are
-actually used will appear in the generated @file{Makefile.in}.
-
-@item
-There will be support for automatically recoding a distribution. The
-intent is to allow a maintainer to use whatever character set is most
-convenient locally, but for all distributions to be Unicode or
-@w{ISO 10646} with the UTF-8 encoding.
-
-@cindex Guile rewrite
-
-@item
-Rewrite in Guile. This won't happen in the near future, but it will
-eventually happen.
-@end itemize
-
-
@page
-@node Macro and Variable Index, General Index, Future, Top
+@node Macro and Variable Index, General Index, Distributing, Top
@unnumbered Macro and Variable Index
@printindex vr