[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
20.2 Limits of Conditionals
Conditionals should enclose complete statements like variables or rules definitions. Automake cannot deal with conditionals used inside a variable definition, for instance, and is not even able to diagnose this situation. The following example would not work:
# This syntax is not understood by Automake AM_CPPFLAGS = \ -DFEATURE_A \ if WANT_DEBUG -DDEBUG \ endif -DFEATURE_B |
However the intended definition of AM_CPPFLAGS
can be achieved
with
if WANT_DEBUG DEBUGFLAGS = -DDEBUG endif AM_CPPFLAGS = -DFEATURE_A $(DEBUGFLAGS) -DFEATURE_B |
or
AM_CPPFLAGS = -DFEATURE_A if WANT_DEBUG AM_CPPFLAGS += -DDEBUG endif AM_CPPFLAGS += -DFEATURE_B |
More details and examples of conditionals are described alongside various Automake features in this manual (see section Conditional Subdirectories, see section Conditional compilation of sources, see section Conditional compilation of programs, see section Building Libtool Libraries Conditionally, see section Libtool Libraries with Conditional Sources).