[英]cross-compile library recipe in yocto
我有幾個源代碼文件(.c)中和頭文件庫,並且該輸出共享庫(。所以)。
目前,我正在使用Makefile生成.so
C = gcc
FLAGS = # -std=gnu99 -Iinclude
CFLAGS = -fPIC -g #-pedantic -Wall -Wextra -ggdb3
LDFLAGS = -shared
DEBUGFLAGS = -O0 -D _DEBUG
RELEASEFLAGS = -O2 -D NDEBUG -combine -fwhole-program
TARGET = libesys.so
SOURCES = $(wildcard *.c)
HEADERS = $(wildcard *.h)
OBJECTS = $(SOURCES:.c=.o)
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(CC) $(FLAGS) $(CFLAGS) $(LDFLAGS) $(DEBUGFLAGS) -o $(TARGET) $(OBJECTS)
clean:
rm *.o libesys.so
我要創造我的元層配方執行上述操作,並且產生。所以,當我做核心bitbake的圖像,最小的。 您能提供一個示例菜譜嗎?
首先,從開發手冊中查看單個源文件的簡單配方,然后嘗試首先獲取簡單的配方。 您可以正確地將此食譜放在自己的meta層中。
另請參閱本部分 , 該部分涵蓋了帶有Makefile的配方。
這是一些讓您入門的東西
DESCRIPTION = "My test recipe"
LICENSE = "CLOSED"
PR = "r1"
S = "${WORKDIR}
FILES_${PN} = "libesys.so"
# Better to use a git repo for large projects
SRC_URI="file://xxxxxx \
file://yyyyyy \
"
do_install(){
oe_runmake install DESTDIR=${D} INCLUDEDIR=${includedir}
install -d ${D}${libdir}
install -m 0644 libesys.so ${D}${libdir}
}
BBCLASSEXTEND = "native"
您還需要修改core-image-minimal
配方,以在配方中添加一個depends,以便將其引入lib中。
DEPENDS+="your_recipe_name_here"
您可以將其直接添加到配方本身,或通過可駐留在圖層中的.bbappends文件添加。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.