嵌入式系统开发学习笔记
- 嵌入式系统开发
-
- 企业级Makefile编写
-
- 文件名称
- 函数说明
- 函数编译说明
嵌入式系统开发
企业级Makefile编写
文件名称
1、myhead:头文件
2、总控Makefile:进入各个功能子目录执行make命令,并将所有的.o文件生成可执行文件
3、scripts:脚本文件
4、功能目录Makefile:将功能目录下所有的.c文件编译成.o文件
5、脚本目录Makefile:定义其他Makefile文件所用到的变量
阅读Makefile顺序:5–>2–>4
函数说明
1、定义wildcard函数
美元符号(wildcard空格模式参数)
例子:result:空格=美元符号(wildcard空格*.c)
result当前目录下所有的.c文件
2、定义pathsubst
美元符号(pathsubst空格模式参数,参数1,参数2)
例子:result:空格美元符号(pathsubst空格%.c,%.o,x.c,y.c)
result:=x.o,y.o
3、:=(防止会出现死循环)
a1 :=a.o
a2 :=美元符号(a1)b.o
a1 :=a.o a2 = a.o b.o
a1 :=美元符号(a2) b.o
a2 :=a.o
a1 = b.o a2 = a.o
4、 +=
a1 =a.o
a1 += b.o
a1 = a.o b.o
a1 = a.o
a1 :=美元符号(a1) b.o
a1 = a.o b.o
5、美元符号(addsuffix 参数1,参数2)
result:=美元符号(addsuffix .c,x y)
result = x.c y.c
6、foreach
美元符号(foreach 变量参数,参数1,表达式)
功能:循环取出参数1中的单词(即变量)赋值给变量参数,然后运行表达式。返回值:表达出运行结果
a :=x y z
result:=美元符号(foreach b,美元符号(a),美元符号(b).c)
result =x.c y.c z.c
7、call
美元符号(call 变量参数,参数…)
功能:循环把参数依次赋值给变量参数中的美元符号(1)、美元符号(2)…
返回值:赋值后的变量值
a:=美元符号(2) 美元符号(1)
result :=美元符号(call $(a),x y)
result =yx
1
函数编译说明
从第十一行开始编译:
第一步:foreach函数取出Modules中的变量check_putin(n=check_putin)
第二步:call函数将参数n赋值给前面的变量参数
(call 美元符号(make ) -c check_putin)
第三步:进行第十六行编译
将Target所有的.c文件编译成.o文件