Other things Automake recognizes

Automake will also recognize the use of certain macros and tailor the generated Makefile.in appropriately. Currently recognized macros and their effects are:

AC_CONFIG_HEADER

Automake requires the use of AM_CONFIG_HEADER, which is similar to AC_CONFIG_HEADER (), but does some useful Automake-specific work.

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). . FIXME: give complete list of things looked for in this directory

AC_PATH_XTRA

Automake will insert definitions for the variables defined by AC_PATH_XTRA into each Makefile.in that builds a C program or library. .

AC_CANONICAL_HOST, AC_CHECK_TOOL

Automake will ensure that config.guess and config.sub exist. Also, the Makefile variables host_alias and host_triplet are introduced. See both , and .

AC_CANONICAL_SYSTEM

This is similar to AC_CANONICAL_HOST, but also defines the Makefile variables build_alias and target_alias. .

AC_FUNC_ALLOCA, AC_FUNC_GETLOADAVG, AC_FUNC_MEMCMP, AC_STRUCT_ST_BLOCKS, AC_FUNC_FNMATCH, AC_FUNC_MKTIME, AM_FUNC_STRTOD, AC_REPLACE_FUNCS, AC_REPLACE_GNU_GETOPT, AM_WITH_REGEX

Automake will ensure that the appropriate dependencies are generated for the objects corresponding to these macros. Also, Automake will verify that the appropriate source files are part of the distribution. Note that Automake does not come with any of the C sources required to use these macros, so automake -a will not install the sources. the section called “Building a library”, for more information. Also, see .

LIBOBJS

Automake will detect statements which put .o files into LIBOBJS, and will treat these additional files as if they were discovered via AC_REPLACE_FUNCS. .

AC_PROG_RANLIB

This is required if any libraries are built in the package. .

AC_PROG_CXX

This is required if any C++ source is included. .

AC_PROG_F77

This is required if any Fortran 77 source is included. This macro is distributed with Autoconf version 2.13 and later. .

AC_F77_LIBRARY_LDFLAGS

This is required for programs and shared libraries that are a mixture of languages that include Fortran 77 (the section called “Mixing Fortran 77 With C and C++”). the section called “Autoconf macros supplied with Automake”.

AC_PROG_LIBTOOL

Automake will turn on processing for libtool ().

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 ().

AC_DECL_YYTEXT

This macro is required if there is Lex source in the package. .

AC_PROG_LEX

If a Lex source file is seen, then this macro must be used. .

AM_C_PROTOTYPES

This is required when using automatic de-ANSI-fication; see the section called “Automatic de-ANSI-fication”.

AM_GNU_GETTEXT

This macro is required for packages which use GNU gettext (the section called “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.ins. This macro is disallowed in Gnits mode (Chapter 22). This macro defines the MAINTAINER_MODE conditional, which you can use in your own Makefile.am.

AC_SUBST, AC_CHECK_TOOL, AC_CHECK_PROG, AC_CHECK_PROGS, AC_PATH_PROG, AC_PATH_PROGS

For each of these macros, the first argument is automatically defined as a variable in each generated Makefile.in. , and .