| 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里
 |