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