[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
8.7 Variables used when building a program
Occasionally it is useful to know which ‘Makefile’ variables Automake uses for compilations, and in which order (see section Flag Variables Ordering); for instance, you might need to do your own compilation in some special cases.
Some variables are inherited from Autoconf; these are CC
,
CFLAGS
, CPPFLAGS
, DEFS
, LDFLAGS
, and
LIBS
.
There are some additional variables that Automake defines on its own:
-
AM_CPPFLAGS
The contents of this variable are passed to every compilation that invokes the C preprocessor; it is a list of arguments to the preprocessor. For instance, ‘-I’ and ‘-D’ options should be listed here.
Automake already provides some ‘-I’ options automatically, in a separate variable that is also passed to every compilation that invokes the C preprocessor. In particular it generates ‘-I.’, ‘-I$(srcdir)’, and a ‘-I’ pointing to the directory holding ‘config.h’ (if you've used
AC_CONFIG_HEADERS
orAM_CONFIG_HEADER
). You can disable the default ‘-I’ options using the ‘nostdinc’ option.AM_CPPFLAGS
is ignored in preference to a per-executable (or per-library)_CPPFLAGS
variable if it is defined.-
INCLUDES
This does the same job as
AM_CPPFLAGS
(or any per-target_CPPFLAGS
variable if it is used). It is an older name for the same functionality. This variable is deprecated; we suggest usingAM_CPPFLAGS
and per-target_CPPFLAGS
instead.-
AM_CFLAGS
This is the variable the ‘Makefile.am’ author can use to pass in additional C compiler flags. It is more fully documented elsewhere. In some situations, this is not used, in preference to the per-executable (or per-library)
_CFLAGS
.-
COMPILE
This is the command used to actually compile a C source file. The file name is appended to form the complete command line.
-
AM_LDFLAGS
This is the variable the ‘Makefile.am’ author can use to pass in additional linker flags. In some situations, this is not used, in preference to the per-executable (or per-library)
_LDFLAGS
.-
LINK
This is the command used to actually link a C program. It already includes ‘-o $@’ and the usual variable references (for instance,
CFLAGS
); it takes as “arguments” the names of the object files and libraries to link in.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |