(automake-1.16.info)User Variables


Next: Auxiliary Programs Prev: Canonicalization Up: Generalities
Enter node , (file) or (file)node

3.6 Variables reserved for the user
===================================

Some ‘Makefile’ variables are reserved by the GNU Coding Standards for
the use of the “user”—the person building the package.  For instance,
‘CFLAGS’ is one such variable.

   Sometimes package developers are tempted to set user variables such
as ‘CFLAGS’ because it appears to make their job easier.  However, the
package itself should never set a user variable, particularly not to
include switches that are required for proper compilation of the
package.  Since these variables are documented as being for the package
builder, that person rightfully expects to be able to override any of
these variables at build time.

   To get around this problem, Automake introduces an automake-specific
shadow variable for each user flag variable.  (Shadow variables are not
introduced for variables like ‘CC’, where they would make no sense.)
The shadow variable is named by prepending ‘AM_’ to the user variable’s
name.  For instance, the shadow variable for ‘YFLAGS’ is ‘AM_YFLAGS’.
The package maintainer—that is, the author(s) of the ‘Makefile.am’ and
‘configure.ac’ files—may adjust these shadow variables however
necessary.

   Note: Flag Variables Ordering, for more discussion about these
variables and how they interact with per-target variables.


automatically generated by info2www version 1.2.2.9