HI3516CV300 1.1 liteosMakefile框架分析

1.第一步:死机硬背sdk开发包的各个目录

├── drv
├── mpp
├── osal
├── osdrv
├── package
├── scripts
├── sdk.cleanup
└── sdk.unpack

而今天的重点就是讨论mpp子目录的sample下的venc是怎么编译出来的。一定要记住drv,mpp,osal,osdrv四个目录。太重要了

2.先不要急于看源码,先听我说

在mpp/sample/venc目录下的编译,没有那么难理解。首先没有Makefile嵌套;其次编译的很少连接的很多;第三涉及的源码很少库很多;第四分析时一定要建立一种思想,所有涉及到的配置参数文件都是在venc当前目录序展开的,直接拿包含文件到venc当前目录分析就好啦!!                                                                                                                                                                对于第四点,举个例子mpp/sample/Makefile.param文件中第一句话就是

ifeq ($(PARAM_FILE), )
     PARAM_FILE:=../../Makefile.param
     include $(PARAM_FILE)
endif

会不蒙比了呢?包含的../../Makefile.param到底是那一层的Makefile参数文件啊。记住第四点的人一眼就知道他是mpp目录下的那个Makefile.param。别看他是前两层,实际上是前一层的,因为当前文件被直接包含进mpp/sample/venc/Makefile展开了。

3.涉猎的文件有:

mpp/sample/venc/Makefile,mpp/sample/Makefile.param,mpp/Makefile.param,mpp/cfg.mak,mpp/Makefile.liteos.param,mpp/sampe/up_liteos.mak

HISI liteosMakefile分析
mpp/sample/venc/Makefile venc.Makefile 通用的模板,venc,vio,scene_auto都是一模一样的
mpp/sample/Makefile.param sample.Makefile.param  
mpp/Makefile.param mpp.Makefile.param 说来也好笑,直接继承cfg.mak的配置信息
mpp/cfg.mak mpp.cfg.mak 全局配置文件,修改这里适配不同平台
mpp/Makefile.liteos.param mpp.Makefile.liteos.param 对接liteos系统的库,头文件
mpp/sampe/up_liteos.mak sample.up_liteos.mak 汇集编译和连接的地方
     

HI3516CV300 1.1 liteosMakefile框架分析_第1张图片

 

你可能感兴趣的:(liteos)