Next: Caching Results, Previous: Setting Output Variables, Up: Results [Contents][Index]
Many output variables are intended to be evaluated both by
make
and by the shell. Some characters are expanded
differently in these two contexts, so to avoid confusion these
variables’ values should not contain any of the following characters:
" # $ & ' ( ) * ; < > ? [ \ ^ ` |
Also, these variables’ values should neither contain newlines, nor start with ‘~’, nor contain white space or ‘:’ immediately followed by ‘~’. The values can contain nonempty sequences of white space characters like tabs and spaces, but each such sequence might arbitrarily be replaced by a single space during substitution.
These restrictions apply both to the values that configure
computes, and to the values set directly by the user. For example, the
following invocations of configure
are problematic, since they
attempt to use special characters within CPPFLAGS
and white space
within $(srcdir)
:
CPPFLAGS='-DOUCH="&\"#$*?"' '../My Source/ouch-1.0/configure' '../My Source/ouch-1.0/configure' CPPFLAGS='-DOUCH="&\"#$*?"'