单龙芯3A3000-7A1000PMON研究学习-(7)撸起袖子干-make cfg 所执行的操作(d)

1.我们还需要一些辅助信息的帮助,直接去分析,似乎有些困难。

这里,我把make cfg所执行的操作全部记录下来,然后打开这个文件去查看这个过程。(第2行)

2.打开这个文件,发现总共45条命令,那我截图下来。结合之前的makefile,一一来看看。

2.1第1-4行就不解释了,前面的文章稍微讲了一下。 

2.2.第5行,创建目录,前面的文章也提过。

2.3 第6行,前面也提过,两条命令,进入到目录,执行pmoncfg程序。(这个部分晚点讲,因为我也没仔细看)。

2.4 第7行,提示创建一个命令,看到第13行的时候,用到了makedepend。(晚点看)

makedepend命令是我们自己安装的。

$ sudo apt-get install xutils-dev

makedepend [ -DName=Def] [ -DName] [ -IIncludeDir ] [ -YIncludeDir ] [ -a ] [ -fMakeFile ] [ -oObjSuffix ] [ -pObjPrefix ] [ -sString ] [ -wWidth ] [ -v] [ -m ] [ —Options— ] SourceFile ...

makedepend命令按顺序读取每个 soucefile,并且像C预处理器那样对其进行语法分析

它处理所有的#include、#define、#undef。。。等伪指令来确定在编译中需要用到哪些#include伪指令。

任何#include伪指令都能引用含有其他#include伪指令的文件,并且同样在那些文件中进行语法分析。

SourceFile直接或间接包含每个文件都被makedepend称为一个“相关性”。

2.5 第8行,前面的文章提过,进入到指定的目录,有两个目标,depend和clean

找到depend目标:在libc文件夹中的Makefile.inc文件中。61行看到了提示语句。

2.6 第9行,进入到指定目录

执行该目录中Makefile

2.7 第10行,按照指定,创建目录树。

对应上图中64行目标的执行

2.8 第11行,对应上图的打印提示

2.9 第12行,切换到指定的目录

make命令执行该目录中的Makefile,目标是depend (上图62行指定的)

在该文件中包含tools/scripts/pmon.lib.gmk (该文件确实有depend目标。)

执行这个目标。 这样命令就对上了。

2.10 第13行,执行makedepend命令,(应该不是编译这些c文件),同时可以看到列出来的所有的c文件应该就是最后形成libc.a所需要的所有的c文件。

执行的是make depend这样的命令。

调用的是上图74行的命令。这里相当于把所有的.c文件进行了关联检查。

3.继续之后的指令14-22。

3.1 第14行,离开这个目录

3.2 第15行,创建目录树

3.3 第16行,打印提示

3.4 第17行,进入libm目录 ,并执行该目录中Makefile文件

3.5 第18行,执行make depend 

3.6 第19行,离开这个目录

3.7 第20行,创建目录树

3.8 第21行,打印提示

3.9 第22行,进入libz目录 ,并执行该目录中Makefile文件

4. 继续之后的命令23-25

 4.1 第23行,执行make depend 

 4.2 第24行,离开这个目录

4.3 第25行,看这样子是执行了根目录下Makefile.inc中的depend目标。

5.继续之后的代码26

 5.1 这一行文件非常多,跟4.3说明的一样。

6. 继续之后的代码27-30

 6.1 第27-30行,在libc目录中执行make clean指令

7.继续之后的代码31

8.继续之后的代码32-37

 进入libm目录,执行make clean

9.继续38-45.结束

 9.1 38-42 行进入libz目录,执行make clean

9.2 44-45 离开指定的目录,上面进行的所有的编译都是在该目录中,所有的.o文件也在该目录中。

以上就是make cfg 的全部过程。

我也是接触不久,难免会有一些错误。欢迎大神指正。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大智兄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值