Program Variables - automake

来源:百度文库 编辑:神马文学网 时间:2024/06/12 12:44:58
8.7 Variables used when building a program
Occasionally it is useful to know which Makefile variablesAutomake uses for compilations, and in which order (seeFlag Variables Ordering); for instance, you might need to do your owncompilation in some special cases.
Some variables are inherited from Autoconf; these are CC,CFLAGS, CPPFLAGS, DEFS, LDFLAGS, andLIBS.There are some additional variables that Automake defines on its own:
AM_CPPFLAGS
The contents of this variable are passed to every compilation that invokesthe C preprocessor; it is a list of arguments to the preprocessor. Forinstance, -I and -D options should be listed here.
Automake already provides some -I options automatically, in aseparate variable that is also passed to every compilation that invokesthe C preprocessor. In particular it generates ‘-I.’,‘-I$(srcdir)’, and a -I pointing to the directory holdingconfig.h (if you've used AC_CONFIG_HEADERS orAM_CONFIG_HEADER). You can disable the default -Ioptions using the nostdinc option.
AM_CPPFLAGS is ignored in preference to a per-executable (orper-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 thesame 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 passin additional C compiler flags. It is more fully documented elsewhere.In some situations, this is not used, in preference to theper-executable (or per-library) _CFLAGS.
COMPILE
This is the command used to actually compile a C source file. Thefile name is appended to form the complete command line.
AM_LDFLAGS
This is the variable the Makefile.am author can use to passin additional linker flags. In some situations, this is not used, inpreference to the per-executable (or per-library) _LDFLAGS.
LINK
This is the command used to actually link a C program. It alreadyincludes ‘-o $@’ and the usual variable references (for instance,CFLAGS); it takes as “arguments” the names of the object filesand libraries to link in. This variable is not used when the linker isoverridden with a per-target _LINK variable or per-target flagscause Automake to define such a _LINK variable.