bitbake之写一个recipe(2)

原创 2015年11月18日 15:38:45

recipe文件的语法:

  • 变量赋值和操作
    S = "${WORKDIR}/postfix-${PV}" CFLAGS += "-DNO_ASM" SRC_URI_append = "file://fixup.patch"
  • 函数
    提供了一系列可执行的动作,例如:
    do_install(){
    autotools_do_install
    install -d ${D}${base_bindir}
    mv ${D}${bindir}/sed ${D}${base_bindir}/sed
    rmdir ${D}${bindir}/
    }
  • 关键字
    bitbake recipe文件仅仅使用较少的关键字,使用inherit关键字可以包含公共的函数,include和require可以包含其他recipe文件的部分,export关键字向环境输出变量的值。
    export POSTCONF = "${STAGING_BINDIR}/postconf"
    inherit autoconf
    require otherfile.inc
  • 注释
    以#字符开头的行,将被当作注释行,并且被忽略。
  • 行的延续
    使用反斜杠将一个声明分成多行。例如:
    VAR = "A really long\
    line"
  • 使用变量
    使用${varname}来访问变量的内容,例如:
    SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/zlib-${PV}.tar.gz"
  • 条件赋值:?=
    条件赋值用于:当该变量没有被赋值时,对其进行赋值。
    VAR1 = "Original value"
    VAR1 ?= "New value"

    VAR1的值没有变,还是”Original value”
  • 增加:+=
    SRC_URI += "file://fix-makefile.patch"
    该操作符在旧的变量内容和新的添加的内容中间添加一个空格。
  • 前置增加:=+
    VAR =+ "Starts"
    在VAR的值的前面添加。
  • _append
    也是添加的意思,但是不添加空格,空格需要显式添加,例如
    SRC_URI_append = " file://fix-makefile.patch"
  • _prepend
    同上!
  • override
    一般情况下是某些值,在另外的条件下,使用override可以设定另外的值。例如:
    KBRANCH = "standard/base"
    KBRANCH_qemuarm = "standard/arm-versatile-926ejs"
  • 使用python来进行复杂的操作
    使用方式为: ${@python_code}
  • shell 使用
    使用sh,而不是bash

qualcomm linux平台编译环境搭建及编译说明

1. 环境电脑系统:ubuntu 14.04 64 bit 硬盘空间:空余50G 2. poky介绍拿到开发包后,解压后,会看到目录poky。 Poky 是 Yocto Project 的一个参...
  • sheji105
  • sheji105
  • 2017年10月26日 10:18
  • 122

在centos 6上的helloworld 模块测试

[root@localhost test]# ls helloworld.c Makefile [root@localhost test]# make make -C /lib/modules/2....
  • yuzaipiaofei
  • yuzaipiaofei
  • 2011年08月08日 13:52
  • 785

bitbake简单的helloworld expamle

build目录里面有 bblayers.conf bblayers.conf里面有BBPATH和BBFILES还有BBLAYERS BBPATH是用来搜索conf配置文件和class类文件的 BBFI...
  • zdf511391565
  • zdf511391565
  • 2016年11月10日 19:25
  • 392

bitbake之写一个recipe(1)

recipes文件是以.bb结尾的文件。1、是yocto项目的基本组成成员。写一个recipe的流程:2、手动或者自动创建一个recipe: recipetool 利用现有的recipe文件 如果不想...
  • pinganddu
  • pinganddu
  • 2015年11月17日 18:12
  • 555

bitbake 常用的简单命令

1 直接编译一个菜谱  bitbake recipename 例如 bitbake glibc 2执行某个菜谱的某个任务 bitbake -c task recipename 例如 bitbake...
  • groundhappy
  • groundhappy
  • 2016年08月14日 16:23
  • 1462

C# 操作DBF数据表

//使用C#操作DBF数据表文件。//DBF操作类//author: anking.he//2011.4.1using System;using System.IO;using System.Coll...
  • billanking
  • billanking
  • 2011年07月22日 13:39
  • 11

Sicily 4427. Greatest Common Divisors

新手赛正赛的热身题,看到时间给出5sec,觉得可能很容易超时,但数据跨度最大又只有1000,就有点弄糊涂了。最后决定暴力试下,结果居然0sec就过了,连scanf都用不上…… Run Time:...
  • Ederick
  • Ederick
  • 2012年02月10日 23:48
  • 760

一步步写bitbake简单的helloworld expamle(2)

这次不按照bitbake的介绍。而是自己一步步来慢慢设置,来解决中途遇到的问题 新建一个env.sh用于初始化环境。 开始内容如下,一步步添加。并且通过source env.sh运行 ...
  • groundhappy
  • groundhappy
  • 2016年06月12日 20:18
  • 2121

qt移植相关

http://download.qt.io/archive/qt/ 在编译qt的时候遇到以下问题都是因为版本号混乱造成的,建议下载同一版本号的源码进行编译,不要用子模块单独编译已减少出错率。...
  • fantasker
  • fantasker
  • 2017年05月23日 08:44
  • 501

BLSP接口

http://huaqianlee.github.io/2016/04/27/Uav/Qualcomm-uav-blsp-port/ 概述 BLSP是高通对于低速接口的...
  • chenqiang0721
  • chenqiang0721
  • 2017年07月11日 14:50
  • 1377
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:bitbake之写一个recipe(2)
举报原因:
原因补充:

(最多只允许输入30个字)