# 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: ```sh bitbake-layers show-recipes ``` ## Example ```sh 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} } ```