1、
语法:$(if condition, then,else then)
例子:
LOCAL_DIR :=
SUBDIR := $(if $(LOCAL_DIR) , $(LOCAL_DIR), /home/temp)
$(info $(LOCAL_DIR))
$(info $(SUBDIR))
解释:如果LOCAL_DIR不为空,则将LOCAL_DIR赋值给SUBDIR,如果为空则将/home/temp赋值给SUBDIR。
结果:
空
/home/temp
2、
ifneq ($(var1), $(var2))
action1
else
action2
endif
1中的表达方式等价于:
ifneq ($(LOCAL_DIR), )
SUBDIR := $(LOCAL_DIR)
else
SUBDIR := /home/temp
endif
3、
ifeq ($(var1), $(var2))
action1
else
action2
endif
4、
语法:$(shell command )
作用:在makefile中执行shell命令。
5、
:"%"=%
功能:匹配字符串,并去掉“”。
例:
CONFIG_CROSS_COMPILE = "avbzhangyang" "abc"
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
$(info $(CROSS_COMPILE))
输出:
avbzhangyang abc