$(<function> <arguments>) or ${<function> <arguments>}
1) string handling function
1.1) subst
Usage: $(subst <from>,<to>,<text>) # replace <from> to <to> in <text>.
1.2) patsubst
Usage: $(patsubst <pattern>,<replacement>,<text>) # replace <pattern> in <text> to <replacement>.
1.3) filter
Usage: $(filter <pattern>,<text>) # return <pattern> in <text>.
1.4) fileter-out
Usage: $(filter-out <pattern>,<text>) # return out of <pattern> in <text>.
1.5) word
Usage: $(word <n>,<text>) # return the nth string in <text>.
1.6) words
Usage: $(words <text>) # return the numbers of string in <text>.
1.7) firstword
Usage: $(firstword <text>) # return the first string in <text>.
1.8) wordlist
Usage: $(wordlist <n1>,<n2>,<text>) # return the n1th to n2th string in <text>.
1.9) strip
Usage: $(strip <text>) # return the string after remove null characters at beginning and end of <text>.
1.10) findstring
Usage: $(findstring <string> <text>) # return the <string> in <text> or null string.
1.11) sort
Usage: $(sort <text>) # return the string sorted by ascending order.
2) filename handling function
2.1) dir
Usage: $(dir <filepath>) # return the part of Directory(the last part before "/" )
2.2) notdir
Usage: $(notdir <filepath>) # return the part of Non-directory(after the last "/" )
2.3) suffix
Usage: $(suffix <filepath>) # return the suffix of <filepath>
2.4) addsuffix
Usage: $(addsuffix <suffix>,<file>) # return the <file> added <suffix>
2.5) basename
Usage: $(basename <filepath>) # return the prefix(include path) of <filepath>
2.6) addprefix
Usage: $(addprefix <prefix>,<file>) # add <prefix> in front of <file>
2.7) join
Usage: $(join <list1>,<list2>) # add the content of list1 in front of the content of list2,respectively; Finally return the string after the connection.
# if the numbers of list1 < the numbers of list2, then the rest content of list2 are copied in list2;
# if the numbers of list1 > the numbers of list2, then the rest content of list1 are remained the same;
Usage: $(call <expression>,<parm1>,<parm2>,<parm3>,...)
# First, the <expression> is defined before;
# When the <expression> is called by call function, the $1,$2,$3,..will be replaced by parm1,parm2,parm3...
6) origin
Usage: $(origin <var>)
# The purpose of the function is where the <var> came from;
# Normally, return value probably is "command line","environment","default","override","undefined","file","automatic"
7) shell
Usage: $(shell <command>)
# <command> is OS shell commands.
8) 控制make的函数
8.1) $(error <text>) # Output the error information---<text>;
8.2) $(warning <text>) # Only output the warning information---<text>, the make is continue performed.