(automake-1.16.info)Limits of Conditionals


Prev: Usage of Conditionals Up: Conditionals
Enter node , (file) or (file)node

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 (Note: Conditional
Subdirectories, Note: Conditional Sources, Note: Conditional
Programs, Note: Conditional Libtool Libraries, Note: Conditional
Libtool Sources).


automatically generated by info2www version 1.2.2.9