diff --git a/build.sh b/build.sh new file mode 100755 index 00000000..6f3ba9e7 --- /dev/null +++ b/build.sh @@ -0,0 +1,78 @@ +#!/bin/bash +# Copyright (C) 2019 Denis 'GNUtoo' Carikli' +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +set -e + +supported_machines=" \ + espresso3g \ + espressowifi \ + i9100 \ + i9300 \ + i9305 \ + maguro \ + n5100 \ + n5110 \ + n7000 \ + n7100 \ +" + +usage() +{ + printf "%s [" "$0" + for machine in ${supported_machines} ; do + printf "${machine}|" + done + printf "\b]\n" + printf "%s all # build all machines\n" "$0" + exit 1 +} + +build() +{ + machine="$1" + parallel_tasks=$(echo "$(grep 'processor' /proc/cpuinfo | wc -l ) + 1" | bc) + log="logs/build_${machine}_$(date '+%s').log" + + echo "starting to building for ${machine}: ${log}" + source build/envsetup.sh + lunch "replicant_${machine}-userdebug" + time make -j$parallel_tasks bacon 2>&1 | tee "${log}" + vendor/replicant/sign-build "${machine}" | tee -a "${log}" + echo "${machine} DONE: ${log}" +} + +if [ $# -ne 1 ] ; then + usage +fi + +if [ "$1" = "all" ] ; then + for machine in ${supported_machines} ; do + build "${machine}" + done +else + found=0 + for machine in ${supported_machines} ; do + if [ "${machine}" = "$1" ] ; then + found=1 + fi + done + + if [ ${found} -eq 0 ] ; then + printf "machine %s not supported\n" "$1" + usage + fi + + build "$1" +fi