Yocto:.bbclass文件

Yocto:.bbclass文件
OpenBMC是基于Yocto项目的,而Yocto项目实在是太复杂了,本人也只了解了一点点,所以可能有不对的地方,以下是基于目前的理解所做的总结:1.bbclass的作用可以认为是为该layer中一些常用的工具定义了一组可以在多个配方中共享的任务和函数或一些通用的信息,比如想使用cmake,那么就在cmake.bbclass中定义了常用的宏定义,编译选项等。*.bbclass是存放在 Layer 内部的可复用构建脚本库,物理上归属于某一个 layer;Recipe(.bb)只是使用者:通过inherit xxx将 layer 中 bbclass 的函数、变量、构建任务引入当前配方。一个 bbclass 可以被成百上千个不同 recipe 继承使用;一个 recipe 也可以同时继承多个来自不同 layer 的 bbclass。以cmake.bbclass为例:它内部已经完整实现 CMake 的配置、编译、安装任务。配方中只要写inherit cmake,就自动套用整套 CMake 构建流程,不需要在每个 bb 文件重复写 cmake 调用脚本。bbclass 中不仅可以封装函数,还可以设置变量、修改依赖、注册事件处理函数。一个配方支持同时继承多个类,继承顺序有意义,后继承的类会覆盖前面的变量与任务。

最新新闻

日新闻

周新闻

月新闻