manpagez: man pages & more
info autoconf
Home | html | info | man

File: autoconf.info,  Node: Output,  Next: Configuration Actions,  Prev: Input,  Up: Setup

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’ (*note
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 *note Configuration Files::, macro
     ‘AC_CONFIG_FILES’), header files (see *note Configuration
     Headers::, macro ‘AC_CONFIG_HEADERS’), commands (see *note
     Configuration Commands::, macro ‘AC_CONFIG_COMMANDS’), links (see
     *note Configuration Links::, macro ‘AC_CONFIG_LINKS’),
     subdirectories to configure (see *note Subdirectories::, macro
     ‘AC_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 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 *note Running Arbitrary
     Configuration Commands: Configuration Commands.

   Historically, the usage of ‘AC_OUTPUT’ was somewhat different.  *Note
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 variable ‘SET_MAKE’ to be empty.
     Otherwise, define ‘SET_MAKE’ to a macro definition that sets
     ‘$(MAKE)’, such as ‘MAKE=make’.  Calls ‘AC_SUBST’ for ‘SET_MAKE’.

   If you use this macro, place a line like this in each ‘Makefile.in’
that runs ‘MAKE’ on other directories:

     @SET_MAKE@

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.