一、条件判断
ifeq判断是否相等
ifneq判断是否不相等
ifdef判断是否定义过
ifndef判断是否未定义过
二、函数基本语法
$(<function> <arguments>) 或 ${<function> <arguments>}
例如:
$(wildcard PATTERN)
功能:列出当前目录下所有符合模式“PATTERN”格式的文件名。
返回:空格分割的、存在当前目录下的所有符合模“PATTERN”的文件名。
说明:“PATTERN”使用shell可识别的通配符,包括“?”(单字符)、“*”(多字符)等。
示例:$(wildcard *.c)返回值为当前目录下所有.c源文件列表。
$(patsubst <pattern>,<replacement>,<text>)
名称:模式字符串替换函数。
功能:查找<text>中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否符合模式<pattern>,如果匹配的话,则以<replacement>替换。这里,<pattern>可以包括通配符%,表示任意长度的字串。如果<replacement>中也包含%,那么,<replacement>中的这个%将是<pattern>中的那个%所代表的字串。(可以用\来转义,以\%来表示真实含义的%字符)
返回:函数返回被替换过后的字符串。
示例:$(patsubst %.c,%.o,x.c.c bar.c)把字串x.c.c bar.c符合模式%.c的单词替换成%.o,返回结果是x.c.obar.o