命令格式:./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. mybatis部分版本异常invalid comparison: java.util.Date and java.lang.String

    严重: Servlet.service() for servlet [spring] in context with path [] threw exception [Request processi ...

  2. 为什么我获取不到这个css样式?js原生获取css样式总结

    还是自己遇到的一个坑的总结吧!与其说是坑不如说自己学艺不精,让我先哭一会!! 需求 简单就是获取一个css的height (好吧 就是一个这么简单的需求) 实践 好吧 长时间的JQ 我已经对原生无能了 ...

  3. ddmrp

    DDMRP 特点 在供应链加入 mts 缓冲,解耦 lead time, 缩小 bullwhip 效应,最小化库存 buffer动态调整 buffer 分3个颜色共 4个区域[zone],为 gree ...

  4. LoadRunner变量到参数的互换

    作者QQ:764714258,转载请说明出处,阅读此文需要良好的C基础 LoadRunner中,web性能测试使用的脚步是C语言编写的.C语言中有变量的概念,LoadRunner工具中带有参数这个概念 ...

  5. (八)Thymeleaf的 th:* 属性之—— 模板布局& th:with& 属性优先级

    3.7 模板布局 模板名称:layout.html 3.7.1 th:fragment e.g.模板名为footer.html页面body部分如下: <body> <div th:f ...

  6. C#中静态方法和非静态方法的区别

    静态方法和非静态方法的区别: 1.静态方法不需要类实例化就可以调用,反之非静态方法需要实例化后才能调用: 2.静态方法只能访问静态成员和方法,非静态方法都可以访问: 3.静态方法不能标记为overri ...

  7. C语言学习笔记(一) 开发环境的搭建

    写这个系列的原因是因为最近在学习C语言,记录博客会让自己能够更好的掌握学习到的东西.编程贵在坚持,每天改变一丢丢! C语言开发两个软件,一个是文本编辑工具,Notepad++或者是EditPlus都可 ...

  8. logstash5安装并实现mariadb数据写入到elasticsearch

    java环境这里默认安装了 ,一般源码安装,这里就不说了 一.安装logstash 安装logstash可以用yum安装,也可以用源码安装: yum安装: 1.导入GPG: rpm --import ...

  9. 从头认识Spring-2.4 基于java的标准注解装配-@Inject-限定器@Named

    这一章节我们来讨论一下基于java的标准注解装配标签@Inject的限定器@Named. 1.domain 蛋糕类: package com.raylee.my_new_spring.my_new_s ...

  10. POJ 1654 area 解题

    Description You are going to compute the area of a special kind of polygon. One vertex of the polygo ...