override指示符 通常在执行 make 时,如果通过命令行定义了一个变量,那么它将替代在 Makefile中出现的同名变量的定义。 就是说,对于一个在 Makefile 中使用常规方式(使用“=”、“:=”或者“define”)定义的变量,我们可以在执行 make 时通过命令行方式重新指定这个 Read More
posted @ 2018-09-17 07:44 suonikeyinsu Views(3839) Comments(0) Diggs(0) Edit
"include"指示符告诉 make 暂停读取当前的 Makefile,而转去读取"include"指定的一个或者多个文件,完成以后再继续当前 Makefile 的读取。 为什么要include其他文件呢? 1. 对于一些通用的变量定义、通用规则,写在一个文件中,任意目录结构中的makefile想 Read More
posted @ 2018-09-17 07:42 suonikeyinsu Views(914) Comments(0) Diggs(0) Edit
$(wildcard PATTERN) 函数功能: 获取匹配 PATTERN 的所有对象 返回值: 使用空格分割的匹配对象列表 1. 示例1 Read More
posted @ 2018-09-17 07:40 suonikeyinsu Views(881) Comments(0) Diggs(2) Edit
```makefile #$(strip ) #名称:去空格函数——strip。 #功能:去掉字串中开头和结尾的空字符,并将中间的多个连续空字符(如果有的话)合并为一个空字符。 #返回:返回被去掉空格的字符串值。 #说明: 空字符包括 空格,tab等不可显示的字符 #把字串" abc"开头的空格去掉,结果是"abc"。 str1 := abc str2 := abc str3... Read More
posted @ 2018-09-17 07:38 suonikeyinsu Views(3611) Comments(0) Diggs(0) Edit
函数名称:排序函数 $(sort LIST) 函数功能:给字串"LIST"中的单词以首字母为准进行排序(升序),并去掉重复的单词。 返回值:空格分割的没有重复单词的字串。 函数说明:两个功能,排序和去字串中的重复单词。可以单独使用其中一个功能。 Read More
posted @ 2018-09-17 07:37 suonikeyinsu Views(299) Comments(0) Diggs(0) Edit
shell函数不同于除“wildcard”函数之外的其它函数。make可以使用它来和外部通信。 函数功能:函数“shell”所实现的功能和shell中的引用(``)相同。实现对命令的扩展。这就意味着需要一个shell 命令作为此函数的参数,函数的返回结果是此命令在shell中的执行结果。make仅仅 Read More
posted @ 2018-09-17 07:36 suonikeyinsu Views(2651) Comments(0) Diggs(0) Edit
格式:\$(patsubst pattern,replacement,text) 名称:模式字符串替换函数——patsubst。 功能:查找text中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否符合模式pattern,如果匹配的话,则以replacement替换。 这里,patte Read More
posted @ 2018-09-17 07:33 suonikeyinsu Views(6246) Comments(0) Diggs(1) Edit
origin 函数的作用是告诉你变量是哪里来的,其出生状况如何,他并不改变变量。 函数语法: \$(origin ) 为变量的名字,而不是引用,所以一般没有"\$"字符在前。 origin 函数通过返回值来告诉你 的出生情况。下面用实例说明: 1. 当从来未定义过该变量时,origin 函数返回 " Read More
posted @ 2018-09-17 07:32 suonikeyinsu Views(1914) Comments(0) Diggs(0) Edit
```makefile #if 函数的语法是: #$(if , ) #或 #$(if ,, ) #参数是if的表达式,如果其返回的为非空字符串,那么这个表达式就相当于返回真,于是,会被计算,否则会被计算 # #if函数的返回值是, # 如果为真(非空字符串),那个会是整个函数的返回值, # 如果为假(空字符串),那么会是整个函数的返回值,此时如果没有被定义,那么,整个函数返回空字串... Read More
posted @ 2018-09-17 07:30 suonikeyinsu Views(1727) Comments(0) Diggs(0) Edit
```makefile #$(foreach ,,) #把参数中的单词逐一取出放到参数所指定的变量中,然后再执行所包含的表达式。每一次会返回一个字符串,循环过程中, #的所返回的每个字符串会以空格分隔,最后当整个循环结束时,所返回的每个字符串所组成的整个字符串(以空格分隔)将会是foreach函数的返回值。 names := a b c d files := $(foreach n,$(name... Read More
posted @ 2018-09-17 07:28 suonikeyinsu Views(418) Comments(0) Diggs(0) Edit
```makefile #$(findstring , ) #功能:在字串中查找字串。 #返回:如果找到,那么返回,否则返回空字符串。 str1 := a b c str2 := b c #第一个函数返回“a”字符串,第二个返回空字符串 all: @echo $(findstring a,$(str1)) @echo $(findstring a,$(str2)) ``` Read More
posted @ 2018-09-17 07:27 suonikeyinsu Views(2398) Comments(0) Diggs(0) Edit
函数原型: $(eval text) 它的意思是 text 的内容将作为makefile的一部分而被make解析和执行。 需要注意的是该函数在执行时会对它的参数进行两次展开,第一次展开是由函数本身完成,第二次是函数展开后的结果被作为makefile内容时由make解析时展开. 1.函数二次展开示例 Read More
posted @ 2018-09-17 07:23 suonikeyinsu Views(674) Comments(0) Diggs(0) Edit
call函数是唯一一个可以创建定制化参数函数的引用函数。 支持对自定义函数的引用; 支持将一个变量定义为一个复杂的表达式,用call函数根据不同的参数对它进行展开来获取不同的结果; 函数语法: $(call VARIABLE,PARAM,PARAM,...) 函数功能: 在执行时,将它的参数"PAR Read More
posted @ 2018-09-17 07:19 suonikeyinsu Views(2504) Comments(0) Diggs(1) Edit