一.makefile中支持条件判断语句
可以根据条件的值来决定make的执行
可以比较两个不同变量或者变量和常量值
条件判断语句语法说明:
条件判断关键字:
条件判断语句注意点:
条件判断语句之前可以有空格,但不能没有Tab字符('\t')
一条件完整的条件语句必须位于同一makefie中。
实验 :ifneq 比较两个变量是否相等,makefile 中 命令前可以用 Tab 键,但是条件判断语句前不允许用 Tab键!!!只能用空格键!!!!
.PHONY : test
var1 := A
var2 := $(var1)
# makefile 允许定义空值变量
var3 :=
test:
#注意 ifeq ($(var1),$(var2)) 不是命令,是条件判断语句,makefile 中 命令前可以用 Tab 键,但是条件判断语句前不允许用 Tab键!!!只能用空格!!!!
ifeq ($(var1),$(var2))
#可执行命令 前面可以用Tab键
@echo "var1 == var2"
else
@echo "var1 != var2"
endif
mhr@ubuntu:~/work/makefile1$
mhr@ubuntu:~/work/makefile1$ make
var1 == var2
mhr@ubuntu:~/work/makefile1$
实验:
ifdef 判断 变量是否有值
ifndef 判断 变量是否为空值
.PHONY : test
var1 := A
var2 := $(var1)
var3 :=
test:
#判断 var2是否定义了值
ifdef var2
@echo "var2 is NOT empty"
else
@echo "var2 is empty"
endif
#判断 var2是否定义了值
ifndef var3
@echo "var3 is empty"
else
@echo "var3 is NOT empty"
endif
mhr@ubuntu:~/work/makefile1$
mhr@ubuntu:~/work/makefile1$ make
var2 is NOT empty
var3 is empty
mhr@ubuntu:~/work/makefile1$
mhr@ubuntu:~/work/makefile1$