While Automake is intended to be used by maintainers of GNU packages, it does make some effort to accommodate those who wish to use it, but do not want to use all the GNU conventions.
To this end, Automake supports three levels of strictness—the strictness indicating how stringently Automake should check standards conformance.
The valid strictness levels are:
Automake will check for only those things that are absolutely required for proper operations. For instance, whereas GNU standards dictate the existence of a NEWS file, it will not be required in this mode. This strictness will also turn off some warnings by default (among them, portability warnings). The name comes from the fact that Automake is intended to be used for GNU programs; these relaxed rules are not the standard mode of operation.
Automake will check—as much as possible—for compliance to the GNU standards for packages. This is the default.
Automake will check for compliance to the as-yet-unwritten Gnits 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 (which may never happen).
The --gnu option (or gnu in the
AUTOMAKE_OPTIONS variable) causes
automake to check
If the --add-missing option is given,
add a generic version of the INSTALL file as well as the
COPYING file containing the text of the current version of the
GNU General Public License existing at the time of this Automake release
(version 3 as this is written, http://www.gnu.org/copyleft/gpl.html).
However, an existing COPYING file will never be overwritten by
Note that this option will be extended in the future to do even more
checking; it is advisable to be familiar with the precise requirements
of the GNU standards. Also, --gnu can require certain
non-standard GNU programs to exist for use by various maintainer-only
rules; for instance, in the future
pathchk might be required for
The --gnits option does everything that --gnu does, and checks the following as well:
VERSIONis checked to make sure its format complies with Gnits standards.
VERSIONindicates that this is an alpha release, and the file README-alpha appears in the topmost directory of a package, then it is included in the distribution. This is done in --gnits mode, and no other, because this mode is the only one where version number formats are constrained, and hence the only mode where Automake can automatically determine whether README-alpha should be included.