android 如何加入第一3正方形lib图书馆kernel于

注意:只能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-他说,他们并没有编译

版权声明:本文博主原创文章。博客,未经同意不得转载。

上一篇:ts-loader 安装问题


下一篇:IT第二十一天 - Collections、ArrayList集合、LinkedList集合、Set集合、HashMap集合、集合的操作注意【修20130828】