簡體   English   中英

交叉編譯yocto庫食譜

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM