#!/bin/bash

GLUON_SITE=ffrgwest
GLUON_TAG=v2016.2
GLUON_RELEASE=0.8.7
GLUON_BRANCH=stable
GLUON_BROKEN=0
#GLUON_BROKEN=1
GLUON_TARGETS=ar71xx-generic
#GLUON_TARGETS="ar71xx-generic ar71xx-nand mpc85xx-generic x86-generic x86-64 x86-kvm_guest x86-xen_domu"

# logs start and enddate
LOGFILE=/tmp/gluon-build-log-$GLUON_RELEASE

# Options for make
OPTIONS="BROKEN=$BROKEN GLUON_RELEASE=$GLUON_RELEASE+exp$(shell date '+%Y%m%d')+ffrgwest"

# detect amount of CPU cores
CORES=$(lscpu|grep -e '^CPU(s):'|xargs|cut -d" " -f2)

DEBIAN_FRONTEND=noninteractive
DEBIAN_PRIORITY=critical
DEBCONF_NOWARNINGS=yes

if [[ $EUID -eq 0 ]]; then
	echo "cannot be run as root"
	exit
fi

sudo apt-get install -y git make gcc g++ unzip libncurses5-dev zlib1g-dev subversion gawk bzip2 libssl-dev > /dev/null
#make dirclean
rm $LOGFILE
rm -rf gluon-$GLUON_RELEASE

git clone -q -b $GLUON_TAG https://github.com/freifunk-gluon/gluon.git gluon-$GLUON_RELEASE 2> /dev/null
cd gluon-$GLUON_RELEASE
git clone -q -b 2016.2 https://github.com/Elstrueck/site-ffrgwest.git site 2> /dev/null
make update 2> /dev/null

start_timestamp=$(date +%s)
i=0
#set -x
for TARGET in $GLUON_TARGETS; do
	start=$(date +%s)
	echo "############### $(date) start building target $TARGET ##################" >> $LOGFILE
	make -j$CORES GLUON_TARGET=$TARGET $OPTIONS || exit 1 
	echo "############### $(date) finished building target $TARGET ###############" >> $LOGFILE

	echo "Zeit seit Start: "$((($(date +%s)-$start_timestamp)/60))":"$((($(date +%s)-$start_timestamp)%60))" Minuten"
	M="Zeit $TARGET: "$((($(date +%s)-$start)/60))":"$((($(date +%s)-$start)%60))" Minuten"
	MESSAGE=$MESSAGE"\n"$M
	let i++
done && : "all targets created in folder output/images/"

cd ..

#set +x
echo -n "finished: "; date

echo "############### $(date) finished script ################################" >> $LOGFILE
cat $LOGFILE
echo $MESSAGE