automake.info: Optional

Go forward to Invoking aclocal
Go backward to Requirements
Go up to configure
Go to the top op automake

Other things Automake recognizes

   Every time Automake is run it calls Autoconf to trace
`configure.in'.  This way it can recognize the use of certain macros
and tailor the generated `Makefile.in' appropriately.  Currently
recognized macros and their effects are:
`AC_CONFIG_HEADERS'
     Automake will generate rules to rebuild these headers.  Older
     versions of Automake required the use of `AM_CONFIG_HEADER' (*note
     Macros::); this is no longer the case today.
`AC_CONFIG_AUX_DIR'
     Automake will look for various helper scripts, such as
     `mkinstalldirs', in the directory named in this macro invocation.
     If not seen, the scripts are looked for in their `standard'
     locations (either the top source directory, or in the source
     directory corresponding to the current `Makefile.am', whichever is
     appropriate).  *Note Finding `configure' Input: (autoconf)Input.
     FIXME: give complete list of things looked for in this directory
`AC_CANONICAL_HOST'
     Automake will ensure that `config.guess' and `config.sub' exist.
     Also, the `Makefile' variables `host_alias' and `host_triplet' are
     introduced.  See *Note Getting the Canonical System Type:
     (autoconf)Canonicalizing.
`AC_CANONICAL_SYSTEM'
     This is similar to `AC_CANONICAL_HOST', but also defines the
     `Makefile' variables `build_alias' and `target_alias'.  *Note
     Getting the Canonical System Type: (autoconf)Canonicalizing.
`AC_LIBSOURCE'
`AC_LIBSOURCES'
`AC_LIBOBJ'
     Automake will automatically distribute any file listed in
     `AC_LIBSOURCE' or `AC_LIBSOURCES'.
     Note that the `AC_LIBOBJ' macro calls `AC_LIBSOURCE'.  So if an
     Autoconf macro is documented to call `AC_LIBOBJ([file])', then
     `file.c' will be distributed automatically by Automake.  This
     encompasses many macros like `AC_FUNC_ALLOCA', `AC_FUNC_MEMCMP',
     `AC_REPLACE_FUNCS', and others.
     By the way, direct assignments to `LIBOBJS' are no longer
     supported.  You should always use `AC_LIBOBJ' for this purpose.
     *Note `AC_LIBOBJ' vs. `LIBOBJS': (autoconf)AC_LIBOBJ vs LIBOBJS.
`AC_PROG_RANLIB'
     This is required if any libraries are built in the package.  *Note
     Particular Program Checks: (autoconf)Particular Programs.
`AC_PROG_CXX'
     This is required if any C++ source is included.  *Note Particular
     Program Checks: (autoconf)Particular Programs.
`AC_PROG_F77'
     This is required if any Fortran 77 source is included.  This macro
     is distributed with Autoconf version 2.13 and later.  *Note
     Particular Program Checks: (autoconf)Particular Programs.
`AC_F77_LIBRARY_LDFLAGS'
     This is required for programs and shared libraries that are a
     mixture of languages that include Fortran 77 (*note Mixing Fortran
     77 With C and C++::).  *Note Autoconf macros supplied with
     Automake: Macros.
`AC_PROG_LIBTOOL'
     Automake will turn on processing for `libtool' (*note
     Introduction: (libtool)Top.).
`AC_PROG_YACC'
     If a Yacc source file is seen, then you must either use this macro
     or define the variable `YACC' in `configure.in'.  The former is
     preferred (*note Particular Program Checks: (autoconf)Particular
     Programs.).
`AC_PROG_LEX'
     If a Lex source file is seen, then this macro must be used.  *Note
     Particular Program Checks: (autoconf)Particular Programs.
`AC_SUBST'
     The first argument is automatically defined as a variable in each
     generated `Makefile.in'.  *Note Setting Output Variables:
     (autoconf)Setting Output Variables.
     If the Autoconf manual says that a macro calls `AC_SUBST' for VAR,
     or defined the output variable VAR then VAR will be defined in
     each generated `Makefile.in'.  E.g. `AC_PATH_XTRA' defines
     `X_CFLAGS' and `X_LIBS', so you can use the variable in any
     `Makefile.am' if `AC_PATH_XTRA' is called.
`AM_C_PROTOTYPES'
     This is required when using automatic de-ANSI-fication; see *Note
     ANSI::.
`AM_GNU_GETTEXT'
     This macro is required for packages which use GNU gettext (*note
     gettext::).  It is distributed with gettext.  If Automake sees
     this macro it ensures that the package meets some of gettext's
     requirements.
`AM_MAINTAINER_MODE'
     This macro adds a `--enable-maintainer-mode' option to
     `configure'.  If this is used, `automake' will cause
     `maintainer-only' rules to be turned off by default in the
     generated `Makefile.in's. This macro defines the `MAINTAINER_MODE'
     conditional, which you can use in your own `Makefile.am'.