yocto-public/1-concepts/recipes.md

1.0 KiB

Recipes

A recipe describes how to build, package and install one software.

It defines a list of variables like the software name, license checksum, etc...

It can also define/override tasks like do_compile or do_install

Many recipes are found in each layer at `$POKY/meta*` in the `recipe-*` folders.

Recipes list

To list all available recipes across every available layer:

bitbake-layers show-recipes

Example

SUMMARY = "My lovely software"

# Name
PN = "lovely-software"
PV = "1"
PR = "r0"

# License info
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=2f24da3987abb0e21842f5b694ec2133"

# This program depends on libcurl
DEPENDS = "curl"
RDEPENDS_${PN} = "curl"

# Task to build the software
do_compile(){
	oe_runmake \
		INCFLAGS="${BUILDSDK_CFLAGS} -DNDEBUG" \
		LDFLAGS="${BUILDSDK_LDFLAGS} -lpthread" \
		all
}

# Task to install it on the target system
do_install(){
	install -d ${D}${bindir}
	install -m 0755 ${B}/binary ${D}${bindir}
}