条件判断语句
- 可以根据条件的值决定make 的执行
可以比较两个不同变量或者变量和常量值
if xxx (arg1,arg2) # for ture else #for false endif
注意:条件判断语句只能用于控制make实际执行的语句;但是不能控制规则中命令的执行过程
常用形式:
ifxxx (arg1,arg2)
其他形式
ifxxx "arg1" "arg2"
ifxxx 'arg1' 'arg2'
条件判断关键字
关键字 功能
ifeq 判断参数是否相等,相等为true
ifneq
ifdef 判断变量是否有值,有值为true
ifndef
工程经验:
- 条件判断语句之前可以有空格,但不能有Tab字符(’\t’)
- 在条件语句中不要使用自动变量(@,^,$<)
- 一条完整的条件语句必须位于同一个makefile中
- 条件判断类似于C语言的宏,预处理阶段有效,执行阶段无效
- make在加载makefile时
- 首先计算表达式的值(赋值方式不同,计算方式不同)
- 根据判断语句的表达式决定执行的内容