automake-1.16: Strictness

 
 3.2 Strictness
 ==============
 
 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”—how
 stringently Automake should enforce conformance with GNU conventions.
 Each strictness level can be selected using an option of the same name;
 see ⇒Options.
 
    The strictness levels are:
 
 ‘gnu’
      This is the default level of strictness.  Automake will check for
      basic compliance with the GNU standards for software packaging.
      ⇒(standards)Top, for full details of these standards.
      Currently the following checks are made:
 
         • The files ‘INSTALL’, ‘NEWS’, ‘README’, ‘AUTHORS’, and
           ‘ChangeLog’, plus one of ‘COPYING.LIB’, ‘COPYING.LESSER’ or
           ‘COPYING’, are required at the topmost directory of the
           package.
 
           If the ‘--add-missing’ option is given, ‘automake’ will 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,
           <https://www.gnu.org/copyleft/gpl.html>).  However, an
           existing ‘COPYING’ file will never be overwritten by
           ‘automake’.
 
         • The options ‘no-installman’ and ‘no-installinfo’ are
           prohibited.
 
      Future versions of Automake will add more checks at this level of
      strictness; it is advisable to be familiar with the precise
      requirements of the GNU standards.
 
      Future versions of Automake may, at this level of strictness,
      require certain non-standard GNU tools to be available to
      maintainer-only Makefile rules.  For instance, in the future
      ‘pathchk’ (⇒(coreutils)pathchk invocation) may be required
      to run ‘make dist’.
 
 ‘foreign’
      Automake will check for only those things that are absolutely
      required for proper operation.  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).
 
 ‘gnits’
      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 published (which is unlikely to ever happen).
 
      Currently, ‘--gnits’ does all the checks that ‘--gnu’ does, and
      checks the following as well:
 
         • ‘make installcheck’ will check to make sure that the ‘--help’
           and ‘--version’ print a usage message and a version string,
           respectively.  This is the ‘std-options’ option (⇒
           Options).
 
         • ‘make dist’ will check to make sure the ‘NEWS’ file has been
           updated to the current version.
 
         • ‘VERSION’ is checked to make sure its format complies with
           Gnits standards.
 
         • If ‘VERSION’ indicates 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.
 
         • The file ‘THANKS’ is required.