zoukankan      html  css  js  c++  java
  • 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-他说,他们并没有编译

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

  • 相关阅读:
    maven打包时加入依赖包及加入本地依赖包
    is_file和file_exists效率比较
    window.open()详解及浏览器兼容性问题示例探讨
    Zend Studio汉化失败,如何给Zend Studio进行汉化
    HTML页面跳转的5种方法
    PHP中的符号 ->、=> 和 :: 分别表示什么意思?
    php中$this->是什么意思
    关于define('DISCUZ_ROOT', substr(dirname(__FILE__), 0, -7));的理解
    【精华】PHP网站验证码不显示的终结解决方案
    php提示undefined index的几种解决方法
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4777869.html
Copyright © 2011-2022 走看看