本文记录为buildroot添加一个包的步骤。
假定:
- 包名为
si534xApp-master.tar.gz
,放置在/home/alan/ARC/ARC-Microwave-WEB-data-transmission/source_aleksandr/si534xApp
目录,由Git管理。 该包包含源文件和Makefile,验证可成功编译运
Makefile的内容:OBJS = si534xApp.o #CROSS_COMPILE = /home/alan/ARC/buildroot/output/host/usr/bin/aarch64-buildroot-linux-gnu- #buildroot不用,单独编译时使用,以找到编译器位置 CC = $(CROSS_COMPILE)gcc OUT_BIN = si534xApp dep_file = .$@.d all: $(OBJS) $(CC) $(LDFLAGS) -g -o $(OUT_BIN) $^ %.o: %.c $(CC) $(LDFLAGS) -Wp,-MD,$(dep_file) -c -o $@ $< clean: rm -rf *.o rm -rf $(OUT_BIN) rm -f $(shell find -name "*.d")
- buildroot路径
/home/alan/ARC/buildroot
添加步骤: - 进入
/home/alan/ARC/buildroot/package
目录,创建si534x目录 - 在该目录下:
$ touch Config.in si534x.mk
编辑
/home/alan/ARC/buildroot/package/Config.in
配置文件,在适当的组后面添加下列内容,以便buildroot在配置时索引到加入的si534x/Config.in
。本例是添加在menu "Debugging, profiling and benchmark"
后面,如下:source "package/si534x/Config.in"
编辑
si534x/Config.in
,添加供在buildroot作menuconfig配置的内容:config BR2_PACKAGE_SI534X bool "si534x" help Application to access Si534x
编辑
si534x/si534x.mk
,添加如果被选择,要执行那些操作:SI534X_VERSION = master #包的版本 SI534X_SITE_METHOD = git #包如何管理 SI534X_SITE = /home/alan/ARC/ARC-Microwave-WEB-data-transmission/source_aleksandr/si534xApp #包放置的位置 SI534X_SOURCE = si534xApp-$(SI534X_VERSION).tar.gz #包名 SI534X_ALWAYS_BUILD = YES SI534X_INSTALL_STAGING = YES SI534X_CFLAGS = SI534X_LDFLAGS = OUT_BIN = si534xApp #目标文件名 SI534X_MAKE_FLAGS += \ CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)" \ CC=$(TARGET_CC) \ OUT_BIN=$(OUT_BIN) \ AR=$(TARGET_AR) \ STRIP=$(TARGET_STRIP) \ CFLAGS=$(SI534X_CFLAGS) \ LDFLAGS=$(SI534X_LDFLAGS) \ STAGING_DIR=$(STAGING_DIR) \ TARGET_DIR=$(TARGET_DIR) define SI534X_BUILD_CMDS $(MAKE) clean -C $(@D) $(MAKE) $(SI534X_MAKE_FLAGS) -C $(@D) endef
如此就完成了包的加入,接下来在buildroot作menuconfig时,就可以选择配置:
make menuconfig Target packages ---> Debugging, profiling and benchmark ---> si534x
然后编译即可:
make
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。