buildroot添加编译自定义APP源码的方法
概要
buildroot添加编译自定义APP源码, 首先在package/Config.in中添加指向新增APP目录的Config.in;
然后在package中新增目录APP,并在里面添加Config.in和app.mk;最后添加对应的APP源码目录。
1、修改添加package/Config.in入口
系统在make menuconfig的时候就可以找到对应的APP的Config.in,就是在package/Config.in的最下面增加如下内容:
menu "Source code written by private"source "package/libiconv/Config.in"source "package/ftp/Config.in"source "package/7za/Config.in"source "package/clamav/Config.in"
endmenu
如果在make menuconfig的时候选中自定义增加的APP,在make savedefconfig的时候就会打开BR2_PACKAGE_APP=y。
2、配置APP对应的Config.in和mk文件
APP/Config.in文件,通过make menuconfig可以对APP进行选择。只有在BR2_PACKAGE_APP=y条件下,才会调用app.mk进行编译。
Config.in文件写法以FTP举例如下:
config BR2_PACKAGE_FTPbool "ftp"helpftp mod by private
MK文件写法以FTP举例如下:
buildroot编译APP所需要的设置app.mk,包括源码位置、安装目录、权限设置等。
以下是源码压缩包方式放入dl/ftp目录下,源码压缩包名称及版本号需要与mk文件一致,只需设置FTP_SOURCE ,FTP_SITE 可不设置,如下:
################################################################################
#
# ftp mod by private
#
################################################################################FTP_VERSION = 1.0.1
FTP_SOURCE = ftp-$(FTP_VERSION).tar.gz
FTP_SITE = NONE
FTP_INSTALL_STAGING = YES
FTP_LICENSE = ftp license
FTP_LICENSE_FILES = READMEdefine FTP_BUILD_CMDS$(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)
endefdefine FTP_INSTALL_STAGING_CMDScp -a $(@D)/ftp/ftp $(TARGET_DIR)/usr/bin
endef$(eval $(generic-package))
root@user-PC:/buildroot-2021.08.1/dl/ftp# ls
ftp-1.0.1.tar.gz
以下是源码非压缩包方式放入dl/ftp目录下,源码路径需要与mk文件一致。只需设置FTP_SITE ,FTP_SOURCE 可不设置,如下:。
################################################################################
#
# ftp mod by private
#
################################################################################FTP_VERSION = 1.0.1
FTP_SITE = /buildroot-2021.08.1/dl/ftp
HELLOWORLD_SITE_METHOD = local
FTP_LICENSE = ftp license
FTP_LICENSE_FILES = READMEdefine FTP_BUILD_CMDS$(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)
endefdefine FTP_INSTALL_STAGING_CMDScp -a $(@D)/ftp/ftp $(TARGET_DIR)/usr/bin
endef$(eval $(generic-package))
如果源码在git或svn上,需要如下设置:
DMA_TEST_VERSION:=master--------------------------------------仓库分支名称DMA_TEST_SITE:=http://.../dma.git-----------------------------仓库git地址DMA_TEST_SITE_METHOD:=git-------------------------------------获取源码的方式
参数解释:
_VERSION结尾的变量是源码的版本号;_SITE_METHOD结尾的变量是源码下载方法;_SITE结尾变量是源码下载地址。
_BUILD_CMDS结尾的变量会在buildroot框架编译的时候执行,用于给源码的Makefile传递编译选项和链接选项,调用源码的Makefile。
_INSTALL_TARGET_CMDS结尾的变量是在编译完之后,自动安装执行,一般是让buildroot把编译出来的的bin或lib拷贝到指定目录。
(eval(eval(eval(generic-package)) 最核心的就是这个东西了,一定不能够漏了,不然源码不会被编译,这个函数就是把整个.mk构建脚本,通过Buildroot框架的方式,展开到Buildroot/目录下的Makfile中,生成的构建目标。
buildroot添加编译自定义APP源码的方法相关推荐
- 绿豆pro前端APP源码v5.1.7编译教程,后端配置全开源安装搭建全图文操作萝卜白菜app通用说明带视频教程_多啦咪
绿豆pro前端APP源码v5.1.7编译教程全图文操作萝卜白菜app通用: 图文一: 打开前端加载项目后,选择图下文件名为app.java文件打开操作修改位置如下: public static Str ...
- 直播视频app源码,自定义可点击可滑动的通用RatingBar
直播视频app源码,自定义可点击可滑动的通用RatingBar实现的相关代码 绘制ratingbar 绘制未选中的背景 /*** 未选中Bitmap*/ private val starBgBitma ...
- 婚恋交友app源码,如何自定义线程池
自定义线程池是婚恋交友app源码开发会用到的,那么婚恋交友app源码是怎样实现的呢? 1.任务队列 2.拒绝策略(抛出异常.直接丢弃.阻塞.临时队列) 3.init( min ) 4.active 5 ...
- mui打包ios_优品视界,聚合影视APP源码。mui框架,hbuilder即可编译,云打包生成ios的Android的app...
[实例简介] 影视APP源码,mui框架的.hbuilderx或hbuilder打包即可,只包含前端web app源码文件.基本功能都齐全,有需要的可以拿去.卖好几百的东西.聚合影视源码 Movie ...
- 视频直播APP源码开发iOS音频播放流程
视频直播APP源码开发iOS音频播放流程 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的, ...
- apicloud影视解析APP源码 HTML
集合vip影视接口到一个android app中 方便观看各平台影视资源及直播,用apicloud搭建影视APP源码,无后台,调用接口同步api解析网址和直接自定义设置的方式设置api解析网址,方便自 ...
- 用成品短视频App源码开发您的下一个创意项目
您是否曾经有过一个创意项目,但是不知道如何实现?成品短视频App源码可以帮助您快速开发出一个小视频App.本文将介绍如何使用成品短视频App源码来开发您的下一个创意项目. 什么是成品短视频App源码? ...
- 速通AOSP,成功编译调试Android源码
/ 今日科技快讯 / 近日据不少网友反馈,爱奇艺App开始对投屏功能作出限制,之前黄金VIP会员支持最高4K清晰度投屏,现在只能选最低的480P清晰度,要想进行4K投屏必须购买白金VIP会员. ...
- VS2019编译python解释器源码及学习方法
Python源码编译 Python是当下很火的一门编程语言,在人工智能.数据分析.后端开发等领域可谓是人人都会的语言,在用python实现各种应用服务的同时,估计很少有人去关注python的实现, ...
最新文章
- VS Code - Debugger for Chrome调试JavaScript的两种方式
- Sql Server函数全解三数据类型转换函数和文本图像函数
- LINUX DNS服务的配置(一)
- Merge Intervals
- AR研究-Demo集
- SPA(单页面应用)和MPA(多页面应用)
- Numpy——numpy属性
- .NET 2.0泛型集合类与.NET 1.1集合类的区别(一)
- 计算机学院军训条幅,最新各大高校欢迎新生横幅,确认过眼神,师兄师姐Skr人才。...
- js css自动幻灯片切换,纯js和CSS3炫酷自动幻灯片特效
- 新手教程:采用AD9软件画原理图
- 财税打印机LQ 670K+ win10驱动
- 初步用Echarts实现圆饼图
- sharp s2 android 9,夏普s2第三方ROM AOSP(Android P)v105
- PHP+经贸时间轴 毕业设计-附源码211617
- numpy求矩阵特征值与特征向量
- 华三模拟器命令(陆续更新)
- Ubuntu-安装汉语拼音输入法
- android xp wifi连接不上,笔记本xp系统连接不上wifi怎么办
- linux设备授权命令,# Linux命令
热门文章
- postgresql dblink mysql_PostgreSQL dblink使用过程
- 达梦DBLINK之DM访问Oracle问题处理
- linux charg修改目录,Thinkpad在linux(ubuntu)下修改电池充电阈值,成功解决Thinkpad在Linux...
- 维特比算法浅析,如何理解时序的动态规划
- 游戏开发之旅——使用CocosCreator完成卡牌2048主要逻辑
- Oracle19C+PLSQL安装和配置详细教程
- 设立各种专项,重奖高层次人才
- JavaScript换行符的使用
- GitHub 通过 jsdelivr CDN加持
- Android 实现 Facebook 第三方登录