[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
4.5 Outputting Files
Every Autoconf script, e.g., ‘configure.ac’, should finish by
calling 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
macro besides AC_INIT
(see section Finding configure
Input).
- Macro: AC_OUTPUT
-
Generate ‘config.status’ and launch it. Call this macro once, at the end of ‘configure.ac’.
‘config.status’ performs all the configuration actions: all the output files (see Creating Configuration Files, macro
AC_CONFIG_FILES
), header files (see Configuration Header Files, macroAC_CONFIG_HEADERS
), commands (see Running Arbitrary Configuration Commands, macroAC_CONFIG_COMMANDS
), links (see Creating Configuration Links, macroAC_CONFIG_LINKS
), subdirectories to configure (see Configuring Other Packages in Subdirectories, macroAC_CONFIG_SUBDIRS
) are honored.The location of your
AC_OUTPUT
invocation is the exact point where configuration actions are taken: any code afterwards is executed byconfigure
onceconfig.status
was run. If you want to bind actions toconfig.status
itself (independently of whetherconfigure
is being run), see Running Arbitrary Configuration Commands.
Historically, the usage of AC_OUTPUT
was somewhat different.
See section 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
variable 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.
- Macro: AC_PROG_MAKE_SET
-
If the Make command,
$MAKE
if set or else ‘make’, predefines$(MAKE)
, define output variableSET_MAKE
to be empty. Otherwise, defineSET_MAKE
to a macro definition that sets$(MAKE)
, such as ‘MAKE=make’. CallsAC_SUBST
forSET_MAKE
.
If you use this macro, place a line like this in each ‘Makefile.in’
that runs MAKE
on other directories:
@SET_MAKE@ |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |