make中主要有下面几个与流程控制相关的内置函数
1)if 函数根据condition的值选择then-part和else-part中的某一个宏扩展,其中,如果condition的宏扩展中包含任意字符(包括空格),那么condition的值为true,在这种情况下,then-part被展开,否则如果condition 的宏扩展为空,那么condition的值为false,else-part被展开。
$(if condition, then-part, else-part)
2)error 函数用来打印严重的错误信息,这个函数将信息打印后,make将终止执行并退出,退出时的status为2。
$(error text)
3)foreach 函数通过循环的方式将list中的每一个元素赋值给variable,并在每次赋值后对body进行展开。
$(foreach variable, list, body)
foreach 函数使用示例:
makefile:
letters := $(foreach letter,a b c d,$(letter))
show-words:
# letters has $(words $(letters)) words: '$(letters)'
运行结果:
$ make
# letters has 4 words: 'a b c d'