if 函数
if函数很像GNU的make所支持的条件语句——ifeq(参见前面所述的章节),if函数的语法是:
- $(if <condition>,<then-part>)
或是
- $(if <condition>,<then-part>,<else-part>)
可见,if函数可以包含“else”部分,或是不含。即if函数的参数可以是两个,也可以是三个。<condition>
参数是if的表达式,如果其返回的为非空字符串,那么这个表达式就相当于返回真,于是, <then-part>
会被计算,否则 <else-part>
会被计算。
而if函数的返回值是,如果 <condition>
为真(非空字符串),那个 <then-part>
会是整个函数的返回值,如果 <condition>
为假(空字符串),那么 <else-part>
会是整个函数的返回值,此时如果 <else-part>
没有被定义,那么,整个函数返回空字串。
所以, <then-part>
和 <else-part>
只会有一个被计算。