Вы можете использовать devtool для добавления рецепта, если у вас нет версии 2.4+ для yocto
devtool add libsml https://github.com/dailab/libsml
создаст шаблон рецепта
workspace/recipes/libsml/libsml_git.bb
это почти то, что вам нужно, но иногда вам нужно немного его настроить, чтобы обеспечить кросс-компиляцию.
в этом случае он собирает и запускает тесты, очевидно, что при перекрестном построении мы можем создавать тесты, но мы можем запускать их на сборочной машине, так что вы должны отключить это. Вы можете сделать это по рецепту или через патч. например через рецепт вы измените функцию do_configure на что-то вроде этого
do_configure () {
# Specify any needed configure commands here
sed -i -e "s#@./test##g" ${S}/test/Makefile
}
может также изменить do_install, чтобы он мог устанавливать нужные вам файлы на целевой
do_install () {
install -d ${D}${libdir} ${D}${includedir}
install -m 0644 ${B}/sml/lib/libsml.* ${D}${libdir}
rm -rf ${D}${libdir}/libsml.o
cp -R --no-dereference --preserve=mode,links ${S}/sml/include/* ${D}${includedir}
install -D -m 0644 sml.pc ${D}${libdir}/pkgconfig/sml.pc
}
построить и посмотреть, все ли в порядке
devtool build libsml
если все сборки вы можете применить рецепт к слою по вашему выбору (скажем, meta-oe)
devtool finish libsml meta-oe -f
Вот и все, теперь вы должны увидеть рецепт в метаэ слой, вы можете попробовать его построить
bitbake libsml