lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame^] | 1 | 运行平台要求x86_64 Linux,建议ubuntu 12.04、ubuntu 14.04、ubuntu 16.04,其他Linux平台未测试,理论上其他64位Linux环境也可以。
|
| 2 | 本编译环境无需安装,解压即可使用。
|
| 3 |
|
| 4 | 如果不使用本编译框架,直接使用编译链,参考ap/build/build.sh里CC、AR等定义,CFLAGS和LDFLAGS等建议参数定义在ap/build/base.mk。
|
| 5 | 如果软件交叉编译configure需要指定--host和--target,可以配置成--host=arm-linux --target=arm-linux,参见ap/build/base.mk。
|
| 6 |
|
| 7 | 如果使用本编译环境编译框架,以prj_mdl为例,只能在project/CHIP_NAME/prj_mdl/build目录运行make命令。
|
| 8 | 1、完整编译:make all, 注意本编译链只有normal版本,make normal等同make all。make help可以获得更多信息。
|
| 9 |
|
| 10 | 2、增量编译命令
|
| 11 | normal版本编译:make normal,编译完成打包的文件系统映像ap_userdata.img在project/CHIP_NAME/prj_mdl/bin目录
|
| 12 | 如果编译报错,代码修改后增量编译:make normal2
|
| 13 |
|
| 14 | 3、normal版本下,修改了lib代码,make lib app normal_rootfs normal_copybin,或者可以用make normal2
|
| 15 | ap_userdata.img为根文件系统,在project/CHIP_NAME/prj_mdl/bin目录
|
| 16 | 如果app用了lib的静态库,app的Makefile发现不了依赖,所以最好make appclean一下
|
| 17 |
|
| 18 | 只解决库编译错误,可以make zte_lib=libdemo lib方式,这样只编译libdemo应用
|
| 19 | make zte_lib=libdemo libclean只清空libdemo的编译
|
| 20 |
|
| 21 | 4、normal版本下,修改了app代码,make app normal_rootfs normal_copybin,或者可以用make normal2
|
| 22 | ap_userdata.img为根文件系统,在project/CHIP_NAME/prj_mdl/bin目录
|
| 23 |
|
| 24 | 只解决应用编译错误,可以make zte_app=appdemo app方式,这样只编译appdemo应用
|
| 25 | make zte_app=appdemo appclean只清空appdemo应用的编译
|
| 26 |
|
| 27 | 5、增加应用和库编译
|
| 28 | 应用和库的Makefile要包含COMMON_BASE_MK或COMMON_MK,参看app和lib目录的demo实例。
|
| 29 | COMMON_MK比COMMON_BASE_MK多了一些宏定义,如果不需要,包含COMMON_BASE_MK即可。
|
| 30 | 5.1 经过configure生成Makefile的开源应用和库建议包含COMMON_BASE_MK,因为某些开源应用如果CFLAGS里包含宏定义会导致configure失败。
|
| 31 | 5.2 增加应用编译,应用名称增加到ap/app/config_app.mk里
|
| 32 | 5.3 增加库编译,库名称增加到ap/lib/config_lib.mk里
|