LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2452|回复: 4

感想:Gingerbread 移植与 sed

[复制链接]
发表于 2011-2-6 03:17:40 | 显示全部楼层 |阅读模式
最近由于某种原因,需要将 Froyo 中的 OpenCORE 移植到 Gingerbread。Gingerbread 的编译系统要求模块的 makefile 要定义 LOCAL_MODULE_TAGS 参数,所以要添加 "LOCAL_MODULE_TAGS := optional" 到 OpenCORE 所有相关的 makefile 中。由于只需要编译 libopencore_common.so,相关的 makefile 共有 80 多个,花了约一个小时的时间找出这些文件并修改编译通过。

遗憾本人 sed 本领不精,否则整个工作大概只需要几分钟吧。
发表于 2011-2-9 14:54:32 | 显示全部楼层
不用精通吧,sed简单的替换不就行啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-2-17 17:50:22 | 显示全部楼层
因为是要插入一行,如果要用替换的话,不知道如何搞定换行(没仔细看过sed文档)
回复 支持 反对

使用道具 举报

发表于 2011-2-18 16:40:43 | 显示全部楼层
google下就可以了,sed插入行很容易的。
回复 支持 反对

使用道具 举报

发表于 2011-10-28 15:45:51 | 显示全部楼层
针对移植添加“LOCAL_MODULE_TAGS"其实不用修改那么多Android.mk的。是你没搞清楚opencore编译系统规则。
即使使用sed确实很方便  你可以使用LOCAL_MODULE    CLEAR_VARS  这些东西作为你的行标记使用sed。为了保证正确行 你可以使用wc做些统计来验证一下。
用的最多的也就是这个了
for i in `find ./ -name Android.mk`; do sed -i '/CLEAR_VARS/a \
LOCAL_MODULE_TAGS := optional' $i; done

for i in `find ./ -name Android.mk`; do sed -i '/CLEAR_VARS/i \
LOCAL_MODULE := optional' $i; done

find ./ -name Android.mk |xargs grep "LOCAL_MODULE_TAGS"|wc -l
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表