[Feature][ZXW-33]merge ZXW 0428 version
Change-Id: I11f167edfea428d9fab198ff00ff1364932d1b0b
diff --git a/ap/build/scripts/build_env_mini/Makefile b/ap/build/scripts/build_env_mini/Makefile
index 9a9a0e9..167ceb1 100755
--- a/ap/build/scripts/build_env_mini/Makefile
+++ b/ap/build/scripts/build_env_mini/Makefile
@@ -122,5 +122,5 @@
mkdir -p $(PRJ_BIN_DIR)/allbins $(PRJ_BIN_DIR)/elfs/normalelfs
cp -v $(IMAGE_DIR)/rootfs.img $(PRJ_BIN_DIR)/allbins/ap_rootfs.img
find $(APP_DIR)/ -name *.elf -exec cp {} $(PRJ_BIN_DIR)/elfs/normalelfs \;
- find $(LIB_DIR)/ -type f -name "lib*.so" -exec cp {} $(PRJ_BIN_DIR)/elfs/normalelfs \;
- find $(STAGEDIR)/uClibc/lib -type f -name "*.so" -exec cp {} $(PRJ_BIN_DIR)/elfs/normalelfs \;
+ find $(LIB_DIR)/ -name "l*.so*" -type f ! -path "*/.libs/*" -exec cp {} $(PRJ_BIN_DIR)/elfs/normalelfs \;
+ find $(STAGEDIR)/libc/lib -type f -name "*.so*" -exec cp {} $(PRJ_BIN_DIR)/elfs/normalelfs \;
diff --git a/ap/build/scripts/build_env_mini/build_env_mini.sh b/ap/build/scripts/build_env_mini/build_env_mini.sh
index 23ba23f..d2c4495 100755
--- a/ap/build/scripts/build_env_mini/build_env_mini.sh
+++ b/ap/build/scripts/build_env_mini/build_env_mini.sh
@@ -19,7 +19,9 @@
#±àÒëÁ´
mkdir -p $CROSS_DIR/build/compiler/gcc-4.9.4_thumb_linux/
+mkdir -p $CROSS_DIR/build/utils/
$RSYNC_OPT ./build/compiler/gcc-4.9.4_thumb_linux/ $CROSS_DIR/build/compiler/gcc-4.9.4_thumb_linux/
+$RSYNC_OPT ./build/utils/ $CROSS_DIR/build/utils/
#libc
mkdir -p $CROSS_DIR/ap/staging/
@@ -60,8 +62,8 @@
cp -v $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_app.mk $CROSS_DIR/ap/app/
-cp -v ./ap/build/scripts/build_env_mini/Makefile $CROSS_DIR/ap/
-cp -v ./ap/build/scripts/build_env_mini/readme.txt $CROSS_DIR/
+cp -v ./ap2/build/scripts/build_env_mini/Makefile $CROSS_DIR/ap/
+cp -v ./ap2/build/scripts/build_env_mini/readme.txt $CROSS_DIR/
#clean
rm -fr $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/normal/rootfs/*
diff --git a/ap/build/scripts/build_env_mini_vehicle/Makefile b/ap/build/scripts/build_env_mini_vehicle/Makefile
new file mode 100755
index 0000000..167ceb1
--- /dev/null
+++ b/ap/build/scripts/build_env_mini_vehicle/Makefile
@@ -0,0 +1,126 @@
+
+include $(ZTE_PS_LINK_SCRIPT)
+-include $(OUTPUT_DIR)/sys_type.mk
+
+.PHONY: help all allclean app appclean lib libclean check
+
+help: check
+ @echo "=========================Make help start========================="
+ @echo "make [help] this help"
+ @echo "make all[clean] compile all, include recovery and normal system"
+ @echo "make normal[clean] compile normal system,include kernel uClibc lib and app"
+ @echo "make normal2 continue to compile normal system"
+ @echo "make normal_rootfs make rootfs for normal system"
+ @echo "make normal_copybin copy bins to project for normal system"
+ @echo "make rootfs make rootfs for normal or recovery automatically based on config"
+ @echo "make copybin copy bins to project for normal or recovery automatically based on config"
+ @echo "make lib[clean] compile lib"
+ @echo "make app[clean] compile app"
+ @echo "=========================Make help end========================="
+
+check:
+ifeq ($(PRJ_NAME),)
+ $(error ONLY execute the make command in the project/CHIP_NAME/prj_xxx/build directory)
+endif
+ bash $(BUILD_DIR)/env_check.sh
+
+normal_check:
+ifneq ($(AP_BUILD_TYPE),normal)
+ $(error current config is not normal,make normal first)
+endif
+
+all:
+ make AP_BUILD_TYPE=normal normal
+
+allclean: normalclean
+
+sys: check
+ make lib
+ make app
+ @echo "all modules build done"
+
+sysclean: check
+ make libclean
+ make appclean
+ -@rm -fr $(OUTPUT_DIR)
+ @echo "all modules clean done"
+
+app:
+ mkdir -p $(ROOTFS_DIR)/bin $(ROOTFS_DIR)/sbin $(ROOTFS_DIR)/lib $(ROOTFS_DIR)/recovery/bin
+ make -C app
+
+appclean:
+ make -C app clean
+
+lib:
+ mkdir -p $(ROOTFS_DIR)/bin $(ROOTFS_DIR)/sbin $(ROOTFS_DIR)/lib $(ROOTFS_DIR)/recovery/bin
+ make -C lib
+
+libclean:
+ make -C lib clean
+
+normal_conf:
+ mkdir -p $(OUTPUT_DIR)
+ mkdir -p $(IMAGE_DIR)
+ echo "AP_BUILD_TYPE = normal" > $(OUTPUT_DIR)/sys_type.mk
+ echo "AP_BUILD_PRJ = $(PRJ_NAME)" >> $(OUTPUT_DIR)/sys_type.mk
+
+normal:
+ make AP_BUILD_TYPE=normal sysclean
+ make AP_BUILD_TYPE=normal normal_conf
+ make AP_BUILD_TYPE=normal sys
+ make AP_BUILD_TYPE=normal normal_rootfs
+ make AP_BUILD_TYPE=normal normal_copybin
+
+normal2: sys normal_rootfs normal_copybin
+
+normalclean:
+ -make AP_BUILD_TYPE=normal sysclean
+ make normal_conf
+ make AP_BUILD_TYPE=normal sysclean
+
+rootfs:
+ make normal_rootfs
+
+copybin:
+
+ make normal_copybin
+
+normal_rootfs: normal_check
+ mkdir -p $(PRJ_BIN_DIR)/allbins $(PRJ_BIN_DIR)/elfs
+ rm -fr $(ROOTFS_DIR)/etc_rw
+ cp -afvp $(PRJ_PRODUCT_DIR)/fs/normal/rootfs/* $(ROOTFS_DIR)/
+ #cp -v $(PRJ_BIN_DIR)/allbins/ap_userdata.img $(ROOTFS_DIR)/etc_ro/
+ chmod -R a+r $(ROOTFS_DIR)/etc_ro
+ #find $(ROOTFS_DIR)/bin -type f | xargs chmod a+x
+ #-find $(ROOTFS_DIR)/sbin -type f | xargs chmod a+x
+ chmod a+x $(ROOTFS_DIR)/etc/rc
+ #@cd $(BUILD_DIR); bash ./install_libc.sh $(ROOTFS_DIR)
+ find $(ROOTFS_DIR)/ -type d -name '.gitkeep' -print0 | xargs -0 rm -fr
+ find $(ROOTFS_DIR)/ -type d -name '.git' -print0 | xargs -0 rm -fr
+ find $(ROOTFS_DIR)/ -name '.gitignore' -print0 | xargs -0 rm -fr
+
+ifeq ($(ROOT_FS_TYPE),ubifs)
+ bash $(BUILD_DIR)/ubifs.sh rootfs $(ROOTFS_SIZE) $(ROOTFS_DIR) $(IMAGE_DIR)/rootfs.img
+else
+ifeq ($(ROOT_FS_TYPE),jffs2)
+ifeq ($(PRJ_IS_MIN),yes)
+ bash $(BUILD_DIR)/jffs2_lzma.sh $(ROOTFS_DIR) $(IMAGE_DIR)/rootfs.img lzma
+else
+ bash $(BUILD_DIR)/jffs2_lzma.sh $(ROOTFS_DIR) $(IMAGE_DIR)/rootfs.img lzo
+endif
+endif
+endif
+
+ (cd $(ROOTFS_DIR) && find . -type f -printf '"/%P" Regular 14 %04m:%4U:%4G\n' > ../rootfs_attr.txt)
+ (cd $(ROOTFS_DIR) && find . -type l -printf '"/%P" SymLink 14 %04m:%4U:%4G\n' >> ../rootfs_attr.txt)
+ (cd $(ROOTFS_DIR) && find . -type d -printf '"/%P" Regular 14 %04m:%4U:%4G\n' >> ../rootfs_attr.txt)
+ (cd $(ROOTFS_DIR)/../ && tar -zcvf $(PRJ_BIN_DIR)/allbins/rootfs.tgz rootfs rootfs_attr.txt)
+ @rm $(ROOTFS_DIR)/../rootfs_attr.txt
+
+normal_copybin: normal_check
+ mkdir -p $(PRJ_BIN_DIR)/allbins $(PRJ_BIN_DIR)/elfs/normalelfs
+ cp -v $(IMAGE_DIR)/rootfs.img $(PRJ_BIN_DIR)/allbins/ap_rootfs.img
+ find $(APP_DIR)/ -name *.elf -exec cp {} $(PRJ_BIN_DIR)/elfs/normalelfs \;
+ find $(LIB_DIR)/ -name "l*.so*" -type f ! -path "*/.libs/*" -exec cp {} $(PRJ_BIN_DIR)/elfs/normalelfs \;
+ find $(STAGEDIR)/libc/lib -type f -name "*.so*" -exec cp {} $(PRJ_BIN_DIR)/elfs/normalelfs \;
diff --git a/ap/build/scripts/build_env_mini_vehicle/build_env_mini.sh b/ap/build/scripts/build_env_mini_vehicle/build_env_mini.sh
new file mode 100755
index 0000000..b46c135
--- /dev/null
+++ b/ap/build/scripts/build_env_mini_vehicle/build_env_mini.sh
@@ -0,0 +1,80 @@
+#!/bin/bash
+
+CROSS_DIR=v3t_build_env_mini_vehicle
+
+LIB_SET="libdemo zlib"
+APP_SET="appdemo"
+PRJ_NAME=prj_vehicle
+
+if [ ! -d build/compiler ]; then
+ echo "[ERROR] CAN not found build/compiler and run in directory containing ap and build."
+ exit -1
+fi
+
+RSYNC_OPT="rsync -aq --delete --exclude=.svn --exclude=.git"
+
+rm -fr $CROSS_DIR
+rm -fv $CROSS_DIR.tar.gz
+mkdir -p $CROSS_DIR
+
+#±àÒëÁ´
+mkdir -p $CROSS_DIR/build/compiler/gcc-4.9.4_thumb_linux_glibc/
+mkdir -p $CROSS_DIR/build/utils/
+$RSYNC_OPT ./build/compiler/gcc-4.9.4_thumb_linux_glibc/ $CROSS_DIR/build/compiler/gcc-4.9.4_thumb_linux_glibc/
+$RSYNC_OPT ./build/utils/ $CROSS_DIR/build/utils/
+
+#libc
+mkdir -p $CROSS_DIR/ap/staging/
+$RSYNC_OPT ./ap/staging/ $CROSS_DIR/ap/staging/
+
+#ap/build
+mkdir -p $CROSS_DIR/ap/build/
+$RSYNC_OPT ./ap2/build/ $CROSS_DIR/ap/build/
+
+#prj
+mkdir -p $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME
+$RSYNC_OPT ./ap2/project/zx297520v3/$PRJ_NAME/ $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/
+cp -v ./ap2/project/pubconf.mk $CROSS_DIR/ap/project/
+cp -v ./ap2/project/zx297520v3/chip_pubconf.mk $CROSS_DIR/ap/project/zx297520v3/
+
+#demo lib
+mkdir -p $CROSS_DIR/ap/lib/
+for item in $LIB_SET;do
+ mkdir -p $CROSS_DIR/ap/lib/$item/
+ $RSYNC_OPT ./ap2/lib/$item/ $CROSS_DIR/ap/lib/$item/
+done
+cp -v ./ap2/lib/Makefile $CROSS_DIR/ap/lib/
+
+#demo app
+mkdir -p $CROSS_DIR/ap/app/
+for item in $APP_SET;do
+ mkdir -p $CROSS_DIR/ap/app/$item/
+ $RSYNC_OPT ./ap2/app/$item/ $CROSS_DIR/ap/app/$item/
+done
+cp -v ./ap2/app/Makefile $CROSS_DIR/ap/app/
+#mkdir -p $CROSS_DIR/ap/app/include/
+#$RSYNC_OPT ./ap/app/include/ $CROSS_DIR/ap/app/include/
+
+rm -fr $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/*
+echo "zte_lib := $LIB_SET" > $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_lib.mk
+echo "zte_app := $APP_SET" > $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_app.mk
+cp -v $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_lib.mk $CROSS_DIR/ap/lib/
+cp -v $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_app.mk $CROSS_DIR/ap/app/
+
+
+cp -v ./ap2/build/scripts/build_env_mini/Makefile $CROSS_DIR/ap/
+cp -v ./ap2/build/scripts/build_env_mini/readme.txt $CROSS_DIR/
+
+#clean
+rm -fr $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/normal/rootfs/*
+mkdir -p $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/normal/rootfs/etc
+mkdir -p $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/normal/rootfs/etc_ro
+touch $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/normal/rootfs/etc/rc
+rm -fr $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/recovery
+rm -fr $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/recovery
+rm -fr $CROSS_DIR/ap/build/scripts
+rm -fr $CROSS_DIR/ap/build/uClibc
+
+echo "compress files to ${CROSS_DIR}.tar.gz"
+tar -czf ${CROSS_DIR}.tar.gz $CROSS_DIR/
+echo "all done"
diff --git a/ap/build/scripts/build_env_mini_vehicle/readme.txt b/ap/build/scripts/build_env_mini_vehicle/readme.txt
new file mode 100755
index 0000000..0e24683
--- /dev/null
+++ b/ap/build/scripts/build_env_mini_vehicle/readme.txt
@@ -0,0 +1,32 @@
+运行平台要求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里
diff --git a/ap/build/scripts/build_env_mini_with_kernel/build_env_mini.sh b/ap/build/scripts/build_env_mini_with_kernel/build_env_mini.sh
index 5e62279..caec81a 100755
--- a/ap/build/scripts/build_env_mini_with_kernel/build_env_mini.sh
+++ b/ap/build/scripts/build_env_mini_with_kernel/build_env_mini.sh
@@ -1,107 +1,87 @@
#!/bin/bash
+rootfs_tgz=$1
CROSS_DIR=v3t_build_env_mini_with_kernel
-LIB_SET="libdemo zlib"
+LIB_SET="libdemo"
APP_SET="appdemo"
-PRJ_NAME=prj_mdl
+PRJ_NAME=prj_mifi
RSYNC_OPT="rsync -aq --delete --exclude=.svn --exclude=.git"
-cat ap/Makefile | grep -n Module.symvers | grep modpost | grep -v "#"
-if [ $? -ne 1 ]; then
- echo "[ERROR]please comment modpost in ap/Makefile"
- exit -1
-else
- echo "ap/Makefile mode post check ok"
-fi
-cat ap/os/linux/linux-3.4.x/.config | grep "# CONFIG_MODVERSIONS is not set"
-if [ $? -ne 0 ]; then
- echo "[ERROR]please set #CONFIG_MODVERSIONS is not set in config.linux"
- exit -1
-else
- echo "CONFIG_MODVERSIONS check ok"
-fi
-cat ap/os/linux/linux-3.4.x/.config | grep "# CONFIG_MODULE_SRCVERSION_ALL is not set"
-if [ $? -ne 0 ]; then
- echo "[ERROR]please set #CONFIG_MODULE_SRCVERSION_ALL is not set in config.linux"
- exit -1
-else
- echo "CONFIG_MODULE_SRCVERSION_ALL check ok"
-fi
+function copy_files()
+{
+ SRC_DIR=$1
+ DEST_DIR=$2
+ mkdir -p $DEST_DIR
+ $RSYNC_OPT $SRC_DIR $DEST_DIR
+}
rm -fr $CROSS_DIR
rm -fv $CROSS_DIR.tar.gz
mkdir -p $CROSS_DIR
#±àÒëÁ´
-mkdir -p $CROSS_DIR/build/compiler/gcc-4.9.4_thumb_linux/
-$RSYNC_OPT ./build/compiler/gcc-4.9.4_thumb_linux/ $CROSS_DIR/build/compiler/gcc-4.9.4_thumb_linux/
+copy_files ./build/ $CROSS_DIR/build/
-#libc
-mkdir -p $CROSS_DIR/ap/staging/
-$RSYNC_OPT ./ap/staging/ $CROSS_DIR/ap/staging/
+#ap/libc
+if [ -d ./ap2/libc ]; then
+ copy_files ./ap2/libc/ $CROSS_DIR/ap/libc/
+fi
#ap/build
-mkdir -p $CROSS_DIR/ap/build/
-$RSYNC_OPT ./ap2/build/ $CROSS_DIR/ap/build/
+copy_files ./ap2/build/ $CROSS_DIR/ap/build/
#prj
-mkdir -p $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME
-$RSYNC_OPT ./ap2/project/zx297520v3/$PRJ_NAME/ $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/
+copy_files ./ap2/project/zx297520v3/$PRJ_NAME/ $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/
cp -v ./ap2/project/pubconf.mk $CROSS_DIR/ap/project/
+echo "export CONFIG_SDK_KERNEL ?= yes" >> $CROSS_DIR/ap/project/pubconf.mk
cp -v ./ap2/project/zx297520v3/chip_pubconf.mk $CROSS_DIR/ap/project/zx297520v3/
+rm -fr $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/recovery
+if [ x"$rootfs_tgz" = x"" ]; then
+ echo "skip rootfs_tgz merge"
+else
+ rm -fr ./rootfs/
+ tar xf $rootfs_tgz
+ rm -rf ./rootfs/lib/cpko
+ copy_files ./rootfs/ $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/normal/rootfs/
+ echo "rootfs_tgz merge ok"
+fi
+
+cp -v ./ap2/Makefile $CROSS_DIR/ap/
#demo lib
mkdir -p $CROSS_DIR/ap/lib/
for item in $LIB_SET;do
- mkdir -p $CROSS_DIR/ap/lib/$item/
- $RSYNC_OPT ./ap2/lib/$item/ $CROSS_DIR/ap/lib/$item/
+ copy_files ./ap2/lib/$item/ $CROSS_DIR/ap/lib/$item/
done
+echo "zte_lib:=$LIB_SET" > $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_lib.mk
+copy_files ./ap2/lib/libps/ $CROSS_DIR/ap/lib/libps/
cp -v ./ap2/lib/Makefile $CROSS_DIR/ap/lib/
#demo app
mkdir -p $CROSS_DIR/ap/app/
for item in $APP_SET;do
- mkdir -p $CROSS_DIR/ap/app/$item/
- $RSYNC_OPT ./ap2/app/$item/ $CROSS_DIR/ap/app/$item/
+ copy_files ./ap2/app/$item/ $CROSS_DIR/ap/app/$item/
done
+copy_files ./ap2/app/test_tools/ $CROSS_DIR/ap/app/test_tools/
+echo "zte_app:=$APP_SET" > $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_app.mk
cp -v ./ap2/app/Makefile $CROSS_DIR/ap/app/
-#mkdir -p $CROSS_DIR/ap/app/include/
-#$RSYNC_OPT ./ap/app/include/ $CROSS_DIR/ap/app/include/
#linux kernel
echo "sync linux kernel"
-mkdir -p $CROSS_DIR/ap/os/
-$RSYNC_OPT ./ap2/os/ $CROSS_DIR/ap/os/
-cp -v ap/os/linux/linux-3.4.x/Module.symvers $CROSS_DIR/ap/os/linux/linux-3.4.x/
+copy_files ./ap2/os/ $CROSS_DIR/ap/os/
#pub for kernel
-rm -v $CROSS_DIR/ap/os/linux/linux-3.4.x/arch/arm/mach-zx297520v3/include/mach/ram_base_config_7520v3.h
-cp -v pub/project/zx297520v3/include/infra/ram_base_config_7520v3.h $CROSS_DIR/ap/os/linux/linux-3.4.x/arch/arm/mach-zx297520v3/include/mach/
+copy_files ./pub/ $CROSS_DIR/pub/
+copy_files ./cp/ $CROSS_DIR/cp/
+copy_files ./tools/ $CROSS_DIR/tools/
-rm -fr $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/*
-cp -v ap/project/zx297520v3/$PRJ_NAME/config/normal/config.linux $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/
-echo "zte_lib := $LIB_SET" > $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_lib.mk
-echo "zte_app := $APP_SET" > $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_app.mk
-cp -v $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_lib.mk $CROSS_DIR/ap/lib/
-cp -v $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/normal/config_app.mk $CROSS_DIR/ap/app/
+#fix and clean
+mkdir -p $CROSS_DIR/ap/app/busybox/src/configs
-cp -v ./ap/build/scripts/build_env_mini_with_kernel/Makefile $CROSS_DIR/ap/
-cp -v ./ap/build/scripts/build_env_mini_with_kernel/readme.txt $CROSS_DIR/
-
-#clean
-rm -fr $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/normal/rootfs/*
-mkdir -p $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/normal/rootfs/etc
-mkdir -p $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/normal/rootfs/etc_ro
-touch $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/normal/rootfs/etc/rc
-rm -fr $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/fs/recovery
-rm -fr $CROSS_DIR/ap/project/zx297520v3/$PRJ_NAME/config/recovery
-rm -fr $CROSS_DIR/ap/build/scripts
-rm -fr $CROSS_DIR/ap/build/uClibc
-
echo "compress files to ${CROSS_DIR}.tar.gz"
tar -czf ${CROSS_DIR}.tar.gz $CROSS_DIR/
echo "all done"