TI-ICS-在子模块下mm出错

今天拿到TI的ICS源码,发现在system/core/adb目录下使用mm出错:

make: Entering directory `/home/weike/TI/TI_ICS_CUR'
make: *** No rule to make target `out/target/product/generic/obj/lib/crtbegin_dynamic.o',
needed by `out/target/product/generic/obj/EXECUTABLES/adb_intermediates/LINKED/adb'.  Stop.
make: Leaving directory `/home/weike/TI/TI_ICS_CUR
分析得知,我使用的处理器为AM335X,上述配置使用了默认的generic配置,
但是我这里的ICS代码在lunch以后没有看到任何有关AM335X的信息,只有以下信息:

You're building on Linux

Lunch menu... pick a combo:

     1. full-eng

     2. full_x86-eng

     3. vbox_x86-eng

Which would you like? [full-eng] 
所以需要给TI的这个ICS添加lunch选项,以下是具体步骤:
1.查看device/ti/下有哪些目录,正好找到我需要的目录:device/ti/am335xevm;
2.查看device/ti/am335xevm是否具有自己的AndroidProducts.mk文件,我这里,TI已经有了AndroidProducts.mk文件;
3.查看device/ti/am335xevm是否具有vendorsetup.mk文件,这里没有这个文件,也是lunch看不到am335x信息的原因
4.在 device/ti/am335xevm目录下创建一个vendorsetup.sh文件,写入以下内容:
  add_lunch_combo am335xevm-eng
5.之后使用. build/envsetup.sh时,就可以看到以下输出:
  including device/ti/am335xevm/vendorsetup.sh
具体原理:
  envsetup.sh调用product_config.mk完成产品型号的匹配,product_config.mk根据vendorsetup.sh中添加的型号,收集所有AndroidProducts.mk文件,在每个AndroidProducts.mk中找到与型号名称匹配的xxx.mk文件,例如在device/ti/am335xevm/AndroidProduct.mk文件中内容是:
PRODUCT_MAKEFILES := $(LOCAL_DIR)/am335xevm.mk
那么,为了在寻找是能够匹配成功,在device/ti/am335xevm/vendorsetup.sh中就要写成:
add_lunch_combo am335xevm-eng

其中am335xevm一定要和am335xevm.mk名称一致,至于后面的“-eng”名称,也是在"-eng","userdebug"中选取
通过以上配置,然后重新运行envsetup和lunch以后,出现am335xevm-eng选项,选择后,进入adb目录,使用mm编译成功。

转载于:https://my.oschina.net/armsky/blog/64062

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值