8.5 The if
Function
The if
function provides support for conditional expansion in a
functional context (as opposed to the GNU make
makefile
conditionals such as ifeq
(see section Syntax of Conditionals).
An if
function call can contain either two or three arguments:
| $(if condition,then-part[,else-part])
|
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.)