diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..d61bc5f --- /dev/null +++ b/build.sh @@ -0,0 +1,65 @@ +#!/bin/bash +function quit(){ + local ret=$? + if [ "$ret" != "0" ]; then + echo "[ERROR] ret=$ret" + shift + echo $@ + exit $ret + fi +} + +function check_enviroment(){ + PACKAGES="git gnupg flex bison gperf build-essential zip bzr curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 schedtool" + for package in ${PACKAGES}; do + dpkg -l | grep ${package} > /dev/null + quit $? + done +} + +function main(){ + BUILD_DIR=~/kindle-build + LOG=${BUILD_DIR}/log.log + + if [ "$#" == "1" ]; then + TARGET=$1 + else + TARGET=jem + fi + + echo "Check git config" + git config --get user.name > /dev/null + quit $? "Not set user.name in gitconfig" + git config --get user.email > /dev/null + quit $? "Not set user.email in gitconfig" + + echo "Check build enviroment" + #check_enviroment + + echo "Init" + mkdir -p ${BUILD_DIR}/.repo + cd ${BUILD_DIR} + + repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1 + + CPUCORES=$(grep processor /proc/cpuinfo | wc -l) + if [ "${CPUCORES}" -ge "8" ]; then + JOBS=8 + else + JOBS=${CPUCORES} + fi + + echo "Init customized manifest" + curl -L -o .repo/local_manifest.xml -O -L https://raw.github.com/KFire-Android/android_local_manifest/cm-10.1/local_manifest.xml + quit $? + repo sync -j${JOBS} + quit $? + + vendor/cm/get-prebuilts + + echo "Start build" + . build/envsetup.sh + rm -rf $LOG && time brunch ${TARGET} -j${CPUCORES} 2>&1 | tee -a $LOG +} + +main $@ diff --git a/local_manifest.xml b/local_manifest.xml index 04b75c8..7702d6c 100644 --- a/local_manifest.xml +++ b/local_manifest.xml @@ -5,7 +5,7 @@ - +