7.2.1 关键字“ifeq”
此关键字用来判断参数是否相等,格式如下:
`ifeq (ARG1, ARG2)'
`ifeq 'ARG1' 'ARG2''
`ifeq "ARG1" "ARG2"'
`ifeq "ARG1" 'ARG2''
`ifeq 'ARG1' "ARG2"'
替换展开“ARG1”和“ARG1”后,对它们的值进行比较。如果相同则(条件为真)将“TEXT-IF-TRUE”作为make要执行的一部分,否则将“TEXT-IF-FALSE”作为make要执行的一部分(上边的第二种格式)。
通常我们会使用它来判断一个变量的值是否为空(不是任何字符)。参数值可能是通过引用变量或者函数得到的,因而在展开过程中可能造成参数值中包含空字符(空格等)。一般在这种情况时我们使用make的“strip”函数来对它变量的值进行处理,去掉其中的空字符。格式为:
ifeq ($(strip $(foo)),)
TEXT-IF-EMPTY
endif