单龙芯3A3000-7A1000PMON研究学习-(5)撸起袖子干-Makefile.inc(b)

1.这个文件170行。好像能够看到一些熟悉的字眼。(Makefile的最简单的规则还是要熟悉一下,不然也看不到熟悉的东西。)

cfg    在配置的时候,make cfg  这个

tgt=rom 正好满足第31条语句,又定义了一个变量,等号后面的命令保存到gencode变量中了。后面再分析。 

 2. 首先看一下cfg这个目标吧。毕竟是我make的第一条指令呀。

cfg:
    # DO NOT DELETE
    perl -i -ne 'print;exit if(/^# DO NOT DELETE/);' ../lib/libc/Makefile 
    perl -i -ne 'print;exit if(/^# DO NOT DELETE/);' ../lib/libm/Makefile 
    perl -i -ne 'print;exit if(/^# DO NOT DELETE/);' ../lib/libz/Makefile 
    mkdir -p ../Targets/${TARGET}/compile
    cd ../Targets/${TARGET}/conf/;pmoncfg ${TARGETEL}
    make -C ../Targets/${TARGET}/compile/${TARGETEL}/ depend clean

perl命令还真不熟 ,-i选项是读取文件的内容

-n:将参数当作文件读取进来,并且每次读取一行遍历文件。 

-e 执行指定的命令,

-ne 就是循环读取文件的每一行,并且去执行print;exit if(/^# DO NOT DELETE/);命令

按照命令print;exit if(/^# DO NOT DELETE/);,打印出对应的内容(并不是输出到终端,而是输出到Makefile.inc文件中,执行命令的这个位置,在内存中,并不修改原文件),直到遇到DO NOT DELETE就结束了,应该是这样的。

以下内容被读取到Makefile.inc文件中来(Makefile.inc 因为执行perl而被临时修改了)。(这些Makefile中有很多变量,还需要把他们转换出来)

libm

libz

 3.话不多说,先想展开,但是打脸了,先跳过一下吧。

3.1 问题来了:XMACHINE,似乎没有被定义,但是XMACHINE_ARCH应该有值(先跳过吧,找不到,唉,丢脸了。)

4. 后面几句命令

1.mkdir -p ../Targets/${TARGET}/compile
2.cd ../Targets/${TARGET}/conf/;pmoncfg ${TARGETEL}
3.make -C ../Targets/${TARGET}/compile/${TARGETEL}/ depend clean

第1句: 创建一个目录,-p可能有多层需要创建的情况

 所以这个目录应该是(绝对路径):

/home/jc/3a3000_pmon/pmon-loongson3-0529-ok/Targets/Bonito3a3000_7a/compile
 

第2句:分号表示是两个命令,分开执行

cd /home/jc/3a3000_pmon/pmon-loongson3-0529-ok/Targets/Bonito3a3000_7a//conf

进入到这个目录中,执行以下命令

pmoncfg Bonito    变量替换,看上图第2行

第3句:

make -C ../Targets/${TARGET}/compile/${TARGETEL}/ depend clean

make -C ../Targets/Bonito3a3000_7a/compile/Bonito/ depend clean

-C(大写字母),表示切换到后面指定的目录中去执行对应的Makefile

两个目标 depend和clean

5. 打开../Targets/Bonito3a3000_7a/compile/Bonito/Makefile

这个文件有点大,打开的时候有点慢,耐心等待一下。

打开这个文件,似乎没有看到我们要的目标,但是这个文件又包含了一个Make file.inc

 $S ,在当前目录退4层,回到了源代码的根目录,即:/home/jc/3a3000_pmon/pmon-loongson3-0529-ok/

 6.展开项目根目录下的Makefile.inc,

 又是一堆的变量。大家莫烦,我都快搞烦了。。。。。哈哈哈哈哈

其实 第3 那个地方的几个变量,在这也出现了。似乎问题也要解决了。加油

 似乎看到了新的希望。下篇再更吧。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大智兄

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

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

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

打赏作者

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

抵扣说明:

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

余额充值