DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(make.info.gz) Conditional Functions

Info Catalog (make.info.gz) File Name Functions (make.info.gz) Functions (make.info.gz) Foreach Function
 
 8.4 Functions for Conditionals
 ==============================
 
 There are three functions that provide conditional expansion.  A key
 aspect of these functions is that not all of the arguments are expanded
 initially.  Only those arguments which need to be expanded, will be
 expanded.
 
 `$(if CONDITION,THEN-PART[,ELSE-PART])'
      The `if' function provides support for conditional expansion in a
      functional context (as opposed to the GNU `make' makefile
      conditionals such as `ifeq' ( Syntax of Conditionals
      Conditional Syntax.).
 
      The first argument, CONDITION, first has all preceding and
      trailing whitespace stripped, then is expanded.  If it expands to
      any non-empty string, then the condition is considered to be true.
      If it expands to an empty string, the condition is considered to
      be false.
 
      If the condition is true then the second argument, THEN-PART, is
      evaluated and this is used as the result of the evaluation of the
      entire `if' function.
 
      If the condition is false then the third argument, ELSE-PART, is
      evaluated and this is the result of the `if' function.  If there is
      no third argument, the `if' function evaluates to nothing (the
      empty string).
 
      Note that only one of the THEN-PART or the ELSE-PART will be
      evaluated, never both.  Thus, either can contain side-effects
      (such as `shell' function calls, etc.)
 
 `$(or CONDITION1[,CONDITION2[,CONDITION3...]])'
      The `or' function provides a "short-circuiting" OR operation.
      Each argument is expanded, in order.  If an argument expands to a
      non-empty string the processing stops and the result of the
      expansion is that string.  If, after all arguments are expanded,
      all of them are false (empty), then the result of the expansion is
      the empty string.
 
 `$(and CONDITION1[,CONDITION2[,CONDITION3...]])'
      The `and' function provides a "short-circuiting" AND operation.
      Each argument is expanded, in order.  If an argument expands to an
      empty string the processing stops and the result of the expansion
      is the empty string.  If all arguments expand to a non-empty
      string then the result of the expansion is the expansion of the
      last argument.
 
 
Info Catalog (make.info.gz) File Name Functions (make.info.gz) Functions (make.info.gz) Foreach Function
automatically generated byinfo2html