命令格式:./maketek [option] [project] [action] [modules]

Option:

   -t ,-tee :输出log信息到当前终端

   -o , -opt=…… : 编译附加条件,一般使用-opt=TARGET_BUILD_VARIANT=user来编译用户板软件

   -h ,help : 打印帮助信息并退出

Project : 工程名,例如:basicom72_wet_jb3 

Action : 

n , new : 重新编译整个工程

c , clean:清理编译时copy的文件及log信息

r , remake:整个工程检查修改部分并编译

listp , listproject: 查看目前所有的project

codegen : 生成database

nandgen : 生成nand_device_list.h (仅限使用nand flash 时使用)

check-env : 检查编译环境是否OK

check-dep :检查功能依赖性

check-modem :检查modem

update-modem :更新最新的modem.img 到system.img

mm : 用来编译APK模块,如:./mk mm package/apps/deskclok

emigen : 生成flash相关文件(custom_emi.c/.h)

modules:

     编译模块:preloader , uboot ,kernel , android 

      简写:pl , ub , k , dr 

其他常用命令:

./mk $project new  首次编译需要写出工程名称,后续可以省略

./mk $project r(n) pl(/ub/k/dr)  remake or new 单个模块,如:./mk r ub 编译kernel时,需同时做打包到bootimage 操作,原因是kernel部分是最终打包到bootimage 里面,然后烧录进flash的

./mk bootimage/snod/systemimage   打包模块

./mk otapackage     编译制作SD卡系统升级包,生成的zip包在out/target/product/project/目录下

./mk banyan_addon    编译MTK sdk 包

模块修改及对应的编译命令:

修改DWS 后,首先gencode 或者通过命令./mk drvgen 使其生成相应的.h/.c文件,这个文件会被preloader uboot  kernel 调用,因此需要new preloader uboot kernel 而kernel 还需进一步./mk bootimage 打包

Preloader 快速编译:

  修改以下目录或文件需要 ./mk r(n) pl

    Mediatek/platform/$platform/preloader/…

Mediatek/custom/$platform/preloader/…

Mediatek/custom/common/preloader/…

Mediatek/custom/$project/preloader/…

Mediatek/custom/$project/common/下的头文件

Mediatek/custom/$project/kernel/dct/下的头文件(cust_kpd.h,cust_gpio_usage.h)

Uboot 快速编译:

修改以下文件或目录需要./mk r(n) ub 

    Bootable/bootloader/uboot/…

    Mediatek/platform/$platform/uboot/…

Mediatek/custom/$platform/ uboot /…

Mediatek/custom/common/ uboot /…

Mediatek/custom/$project/ uboot /…

Mediatek/custom/$project/common/下的头文件

Mediatek/custom/$project/kernel/dct/下的头文件(cust_kpd.h,cust_gpio_usage.h)

Mediatek/custom/common/kernel/lcm/inc/lcm_drv.h

Mediatek/custom/common/kernel/leds/inc/cust_leds.h

Kernel 快速编译:

   修改以下文件或者目录需要./mk r(n) k 然后执行./mk bootimage打包成boot.img

   Kernel/…

 Mediatek/platform/$platform/kernel/…

 Mediatek/source/kernel/…

 Mediatek/custom/$platform/kernel/,.,,

   Mediatek/custom/common/kernel/…

   Mediatek/custom/$project/kernel/…

   Mediatek/custom/$project/common/下的头文件

   Mediatek/custom/common/hal/下的头文件

   Mediatek/custom/$project/hal/下的头文件

./mk bootimage

   打包生成$PRODUCT_OUT/boot.img

   打包生成$PRODUCT_OUT/ramdisk.img

./mk recoveryimage

   根据依赖会先生成boot.img

   打包生成$PRODUCT_OUT/recovery.img

./mk snod/systemimage-nodeps

   打包生成$PRODUCT_OUT/system.img 但不检查任何依赖性

./mk systemimage

   打包生成$PRODUCT_OUT/system.img 检查任何依赖性

 ./mk cacheimage

   打包生成$PRODUCT_OUT/cache.img

 ./mk userdataimage

    打包生成$PRODUCT_OUT/userdata.img

 ./mk secroimage

    打包生成$PRODUCT_OUT/secro.img

Android系统移植与调试之------->MTK 标准编译命令的更多相关文章

  1. [置顶] Android系统移植与调试之------->Amlogic方案编译步骤

    1. 拷贝Amlogic的SourceCode 切换目录到  /home/roco/work/amlogic/SourceCode/mx0831-0525下将mx0831-0525.tgz拷贝到  / ...

  2. Android系统移植与调试之------->Amlogic方案编译步骤

    1. 拷贝Amlogic的SourceCode 切换目录到  /home/roco/work/amlogic/SourceCode/mx0831-0525下将mx0831-0525.tgz拷贝到  / ...

  3. Android系统移植与调试之------->如何修改Android手机显示的4G信号强度的格子数

    在修改显示的信号强度之前,先了解一下什么是dB,什么是dBm? 1.dB dB是一个表征相对值的值,纯粹的比值,只表示两个量的相对大小关系,没有单位,当考虑甲的功率相比于乙功率大或小多少个dB时, 按 ...

  4. [置顶] Android系统移植与调试之------->build.prop文件详细赏析

    小知识:什么是build.prop?   /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件.这个文件是如 ...

  5. Android系统移植与调试之------->build.prop生成过程分析

    本文简要分析一下build.prop是如何生成的.Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编 ...

  6. Android系统移植与调试之------->build.prop文件详细赏析

    小知识:什么是build.prop?   /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件.这个文件是如 ...

  7. Android系统移植与调试之------->如何添加一个adb wifi无线调试的功能【开发者选项】-【Wifi调试】

    首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb tcp连接端口 :/$setprop service.adb.tcp.port :/$stop adbd :/$st ...

  8. Android系统移植与调试之------->如何修改Android系统默认显示【开发者选项】并默认打开【USB调试】和【未知来源】开关

    今天有个用户对[设置]有个特殊的要求,即: 1.开机的时候默认显示[开发者选项]并打开[USB调试]开关    ([Developer options]-->[USB debugging]) 2 ...

  9. Android系统移植与调试之------->如何修改Android手机NFC模块,使黑屏时候能够使用NFC

    我们都知道在不修改源代码的情况下,只能是解锁之后才能使用NFC功能.而在锁屏和黑屏2个状态下是没办法用NFC的,但是最近有个客户要求手机在黑屏状态下能够使用NFC,因此我们需要去修改Android源代 ...

随机推荐

  1. 又见The request sent by the client was syntactically incorrect ()

    前几天遇到过这个问题(Ref:http://www.cnblogs.com/xiandedanteng/p/4168609.html),问题在页面的组件name和和注解的@param名匹配不对,这个好 ...

  2. <<= 什么意思?|=什么意思?

    <<= 什么意思?|=什么意思?   x <<= 2; // x = x << 2; y |= 8; // y = y | 8;   这些都是被缩写了!位运算-- ...

  3. 【Excle】8个快捷键

    1.CtrL+ F1 一键切换功能区是否显示,几乎每天都要用N次. 2.Ctrl + N 一键插入新的工作簿,再不用通过新建 - 空白工作簿来操作了. 3.Shift + F2 如果单元格中没有批注会 ...

  4. windows下WMI使用C++查询用户硬件信息

    最近需要做下用户信息统计,发现WMI真是个好东西,同时觉得COM这东西,还真不能少>_<!! 下面是源码: /*************************************** ...

  5. zabbix监控第二块网卡是否连通

    配置zabbix客户端配置文件 vim /etc/zabbix/zabbix_agentd.conf 添加  Include=/etc/zabbix/zabbix_agentd.d/ 添加脚本检测网卡 ...

  6. 数据存储之iOS断点续传

    iOS里面实现断点续传 第三方框架之AFN 代码实现 一.iOS里面实现断点续传 1⃣️AFN基于NSURL 1.性能和稳定性略差.针对JSON.XML.Plist和Image四种数据结构封装了各自处 ...

  7. Java 分页之最简单的算法

    分页实现有很多方式,如jQuery自带框架pagination或在java封装一个类pager等.   下写一个简单易懂的分页算法   逻辑:   // 步骤1:设置每页页数大小 long pageS ...

  8. linux vi设置行号

    首先,vi的配置文件是/etc/vim/vimrc,不同系统可能有出入,不过我建议大家在home中建立一个.vimrc文件,照样可以达到同样的效果.其实/etc中的配置是全局的,home中的配置只针对 ...

  9. python random 学习

    随机产生8位数,每位数都是1~6之间数字 import random list_1 = [i for i in xrange(1,7)] print list_1 arr_1=[] for i in ...

  10. Cookie-Parser是怎样解析签名后的cookie的(同一时候对cookie和cookie-signature进行说明)

    第一步:我们来学习一下cookie-signature: var cookie=require('./index'); var val = cookie.sign('hello', 'tobiisco ...