android 如何添加第3方lib库到kernel中
来源:互联网 发布:淘宝转卖闲鱼怎么发货 编辑:程序博客网 时间:2024/06/07 01:32
注意:只能将lib库放在kernel编译到的地方,如下:
alps/kernel/
alps/mediatek/custom/common/kernel/
alps/mediatek/custom/$platform/kernel/
alps/mediatek/custom/$proj/kernel/
alps/mediatek/kernel/
alps/mediatek/platform/$platform/kernel/core/
alps/mediatek/platform/$platform/kernel/drivers/
假设第3方库名称为test.a
(1). 如果存放的目录存在Makefile,那么只需在该Makefile最后添加:
obj-y += test.a
然后将test.a文件复制到该目录下,
重新命名为test.a_shipped,目的是防止clean kernel阶段把该库给清除掉!
重新编译kernel即可。
(2). 如果存放的目录不存在Makefile,比如在alps/mediatek/custom/目录下的kernel目录都没有Makefile,这时需要自行添加一个Makefile,内容和第1种方法差不多:
obj-y := xxx.o yyy.o test.a
以上表示将xxx.c/yyy.c和test.a编译到kernel
然后将test.a文件复制到该目录下并重新命名为test.a_shipped
重新编译kernel即可。
注意:alps/mediatek/custom/common/kernel/touchpanel/xxx目录下的文件会和alps/mediatek/custom/common/kernel/touchpanel/src目录合并,obj-y要将两个目录下的obj全部加入才行,否则编译失败。也可以用以下Makefile,自动将所有obj加入obj-y,省却麻烦。其他目录如有类似的情形一样处理。
添加的Makefile(将所有*.c变为*.o并加入obj-y):
include $(MTK_PATH_BUILD)/common.mk
path := $(if $(filter yes,$(KBUILD_OUTPUT_SUPPORT)),$(srctree)/$(obj),$(obj))
obj-y := $(patsubst %.c,%.o,$(subst $(path)/,,$(call wildcard2,$(path)/*.c)))
obj-y += test.a
说明:对于kernel的Makefile编写规则说明,可以到网络搜索相关材料参考,比如obj-y表示要编译到kernel,而obj-m表示要编译成module,obj-n或obj-表示不编译
alps/kernel/
alps/mediatek/custom/common/kernel/
alps/mediatek/custom/$platform/kernel/
alps/mediatek/custom/$proj/kernel/
alps/mediatek/kernel/
alps/mediatek/platform/$platform/kernel/core/
alps/mediatek/platform/$platform/kernel/drivers/
假设第3方库名称为test.a
(1). 如果存放的目录存在Makefile,那么只需在该Makefile最后添加:
obj-y += test.a
然后将test.a文件复制到该目录下,
重新命名为test.a_shipped,目的是防止clean kernel阶段把该库给清除掉!
重新编译kernel即可。
(2). 如果存放的目录不存在Makefile,比如在alps/mediatek/custom/目录下的kernel目录都没有Makefile,这时需要自行添加一个Makefile,内容和第1种方法差不多:
obj-y := xxx.o yyy.o test.a
以上表示将xxx.c/yyy.c和test.a编译到kernel
然后将test.a文件复制到该目录下并重新命名为test.a_shipped
重新编译kernel即可。
注意:alps/mediatek/custom/common/kernel/touchpanel/xxx目录下的文件会和alps/mediatek/custom/common/kernel/touchpanel/src目录合并,obj-y要将两个目录下的obj全部加入才行,否则编译失败。也可以用以下Makefile,自动将所有obj加入obj-y,省却麻烦。其他目录如有类似的情形一样处理。
添加的Makefile(将所有*.c变为*.o并加入obj-y):
include $(MTK_PATH_BUILD)/common.mk
path := $(if $(filter yes,$(KBUILD_OUTPUT_SUPPORT)),$(srctree)/$(obj),$(obj))
obj-y := $(patsubst %.c,%.o,$(subst $(path)/,,$(call wildcard2,$(path)/*.c)))
obj-y += test.a
说明:对于kernel的Makefile编写规则说明,可以到网络搜索相关材料参考,比如obj-y表示要编译到kernel,而obj-m表示要编译成module,obj-n或obj-表示不编译
1 0
- 如何添加第3方lib库到kernel中
- android 如何添加第3方lib库到kernel中
- android 如何添加第3方lib库到kernel中
- 如何添加Android第三方lib
- 如何添加系统中Lib到当前项目
- 如何添加系统中Lib到当前项目
- 如何在项目中添加lib库
- 在Arduino中添加第3方库
- QT总结第3篇:如何在QT中添加.lib,.dll还有.h文件
- QT总结第3篇:如何在QT中添加.lib,.dll还有.h文件
- Android NDK 引用第三方.so库到lib下
- Android4.2.2源码编译-如何把第三方的动态库重新编译到Android系统的/system/lib目录
- Android4.2.2源码编译-如何把第三方的动态库重新编译到Android系统的/system/lib目录
- android Studio 如何添加第三方库
- Android添加第三方so到APK中
- 将第3方的jar 添加到本地Maven库
- 如何在vs2008中添加lib 静态库使用
- 如何在vs2008中添加lib 静态库使用
- SVN服务器搭建和使用(3)
- android user版本如何打开root权限
- mahout个性化推荐的一些帖子
- hadoop利用Gzip压缩文件
- hibernate的current_session_context_class配置
- android 如何添加第3方lib库到kernel中
- C语言文件操作函数大全
- 听说此文又是一篇找砖头的文章, 善良,可爱型的人请速速离开。 1: 模板引擎。 模板引擎是否得继续使用及发挥作用, 成为phper们在争论的第一话题。 其实我们可以换个立场来思考, 如果d
- mysql中的select * for update
- 卸载MySQL,安装SQLite
- Spanned
- java解析xml的方法
- AN VideoPlay
- android 编译共享ccache的缓存