Every Autoconf script, e.g., configure.ac, should finish by
AC_OUTPUT. That is the macro that generates and runs
config.status, which in turn creates the makefiles and any
other files resulting from configuration. This is the only required
AC_INIT (see Input).
config.status performs all the configuration actions: all the output files (see Configuration Files, macro
AC_CONFIG_FILES), header files (see Configuration Headers, macro
AC_CONFIG_HEADERS), commands (see Configuration Commands, macro
AC_CONFIG_COMMANDS), links (see Configuration Links, macro
AC_CONFIG_LINKS), subdirectories to configure (see Subdirectories, macro
AC_CONFIG_SUBDIRS) are honored.
The location of your
AC_OUTPUTinvocation is the exact point where configuration actions are taken: any code afterwards is executed by configure once config.status was run. If you want to bind actions to config.status itself (independently of whether configure is being run), see Running Arbitrary Configuration Commands.
Historically, the usage of
AC_OUTPUT was somewhat different.
See Obsolete Macros, for a description of the arguments that
AC_OUTPUT used to support.
If you run make in subdirectories, you should run it using the
MAKE. Most versions of make set
MAKE to the name of the make program plus any options it
was given. (But many do not include in it the values of any variables
set on the command line, so those are not passed on automatically.)
Some old versions of make do not set this variable. The
following macro allows you to use it even with those versions.
If you use this macro, place a line like this in each Makefile.in that runs MAKE on other directories: