#!/bin/bash
pause()
{
#echo "Press any key to quit:"
#read -n1 -s key
exit 1
}

set -e

. build/envsetup.sh >/dev/null && setpaths

export PATH=$ANDROID_BUILD_PATHS:$PATH
TARGET_PRODUCT=`get_build_var TARGET_PRODUCT`
TARGET_HARDWARE=`get_build_var TARGET_BOARD_HARDWARE`
TARGET_DEVICE=`get_build_var TARGET_DEVICE`

#Used to gather build information from files at root, building the BUILD_TAG
if [ -f  ${TARGET_PRODUCT}_build.id ]; then 
  BUILD_ID=`cat ${TARGET_PRODUCT}_build.id`
else
  BUILD_ID="0.1.0"
fi
if [ -f  ${TARGET_PRODUCT}_build_number.id ]; then 
  BUILD_NUMBER=`cat ${TARGET_PRODUCT}_build_number.id`
else
  BUILD_NUMBER="0000"
fi
BUILD_TAG="${BUILD_ID}-${BUILD_NUMBER}-${TARGET_BUILD_VARIANT}"

# used when we thought we could deliver updates in addition to full images
#OTA_PATH=../ota-$TARGET_PRODUCT/$BUILD_ID-$BUILD_NUMBER
IMAGE_PATH=rockdev/Image-$TARGET_PRODUCT

echo TARGET_PRODUCT=$TARGET_PRODUCT
echo BUILD_TAG=$BUILD_TAG
echo IMAGE_PATH=$IMAGE_PATH
echo TARGET_DEVICE=$TARGET_DEVICE
BOOTLOADER_BIN=
BOOTLOADER_TYPE=
UBOOT=
case $TARGET_DEVICE in
   rk3288) BOOTLOADER_BIN="${TARGET_DEVICE^^}UbootLoader_V2.30.10.bin"
   BOOTLOADER_TYPE=RK32
   UBOOT="u-boot"
   ;;
   rk3128) BOOTLOADER_BIN="${TARGET_DEVICE^^}MiniLoaderAll_V2.31.bin"
   BOOTLOADER_TYPE=RK3128
   UBOOT="uboot.img"
   ;;
   rk312x) BOOTLOADER_BIN="RK3128MiniLoaderAll_V2.31.bin"
   BOOTLOADER_TYPE=RK312A
   UBOOT="uboot.img"
   ;;
esac

echo "start to make update.img..."
cd rockdev
if [ ! -f "parameter" ] && [ ! -f "$TARGET_PRODUCT.parameter.txt" ]; then
  echo "Error:No found parameter!"
  pause
fi
if [ ! -f "$TARGET_PRODUCT.package-file" ] && [ ! -f "${TARGET_PRODUCT}.${TARGET_BUILD_VARIANT}.package-file" ]; then
  echo "Error:No found package-file!"
  pause
fi

if [ ! -f "${BOOTLOADER_BIN}" ]; then
  echo "copy ../u-boot/${BOOTLOADER_BIN} ./"
  cp ../u-boot/${BOOTLOADER_BIN} ./
fi

echo "copy ../u-boot/$UBOOT Image-$TARGET_PRODUCT/"
cp ../u-boot/$UBOOT Image-$TARGET_PRODUCT/uboot.img
echo "copy ../kernel/kernel.img Image-$TARGET_PRODUCT/"
cp ../kernel/kernel.img Image-$TARGET_PRODUCT/
echo "copy ../kernel/resource.img Image-$TARGET_PRODUCT/"
cp ../kernel/resource.img Image-$TARGET_PRODUCT/


if [ -f "package-file" ]; then 
  echo "package-file exits, removing it..." 
  rm -f package-file 
fi
if [ -f "update-script" ]; then 
  echo "update-script exits, removing it..." 
  rm -f update-script 
fi
if [ -f "recover-script" ]; then 
  echo "recover-script exits, removing it..." 
  rm -f recover-script 
fi

if [ -f "${TARGET_PRODUCT}.${TARGET_BUILD_VARIANT}.package-file" ]; then
    echo "copy $TARGET_PRODUCT.${TARGET_BUILD_VARIANT}.package-file ./package-file"
    cp ${TARGET_PRODUCT}.${TARGET_BUILD_VARIANT}.package-file package-file
elif [ -f "$TARGET_PRODUCT.package-file" ]; then
    echo "copy $TARGET_PRODUCT.package-file ./package-file"
    cp $TARGET_PRODUCT.package-file package-file
fi
if [ -f "${TARGET_PRODUCT}.${TARGET_BUILD_VARIANT}.update-script" ]; then
    echo "copy $TARGET_PRODUCT.${TARGET_BUILD_VARIANT}.update-script ./update-script"
    cp ${TARGET_PRODUCT}.${TARGET_BUILD_VARIANT}.update-script update-script
elif [ -f "$TARGET_PRODUCT.update-script" ]; then
    echo "copy $TARGET_PRODUCT.update-script ./update-script"
    cp $TARGET_PRODUCT.update-script update-script
fi
if [ -f "${TARGET_PRODUCT}.${TARGET_BUILD_VARIANT}.recover-script" ]; then
    echo "copy $TARGET_PRODUCT.${TARGET_BUILD_VARIANT}.recover-script ./recover-script"
    cp ${TARGET_PRODUCT}.${TARGET_BUILD_VARIANT}.recover-script recover-script
elif [ -f "$TARGET_PRODUCT.recover-script" ]; then
    echo "copy $TARGET_PRODUCT.recover-script ./recover-script"
    cp $TARGET_PRODUCT.recover-script recover-script
fi

./afptool -pack ./ Image-$TARGET_PRODUCT/update.img || pause
./rkImageMaker -${BOOTLOADER_TYPE} ${BOOTLOADER_BIN} Image-$TARGET_PRODUCT/update.img $TARGET_PRODUCT-rkimage-$BUILD_TAG.img -os_type:androidos || pause
echo "Making $TARGET_PRODUCT-rkimage-$BUILD_TAG.img OK."
openssl dgst -md5 $TARGET_PRODUCT-rkimage-$BUILD_TAG.img
#echo "Press any key to quit:"
#read -n1 -s key
croot
exit 0