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