Next: , Previous: , Up: General ideas   [Contents][Index]


2.2 Depth

automake supports three kinds of directory hierarchy: “flat”, “shallow”, and “deep”.

A flat package is one in which all the files are in a single directory. The Makefile.am for such a package by definition lacks a SUBDIRS macro. An example of such a package is termutils.

A deep package is one in which all the source lies in subdirectories; the top level directory contains mainly configuration information. GNU cpio is a good example of such a package, as is GNU tar. The top level Makefile.am for a deep package will contain a SUBDIRS macro, but no other macros to define objects which are built.

A 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 make, which does not currently use automake).