#!/bin/bash

export NUMJOBS=" -j11 "

PKGNAM=linux
if [ -z "$VERSION" ]; then
  # Get $VERSION from the newest kernel tarball:                               
  VERSION=${VERSION:-$(/bin/ls -t linux-*.tar.?z | head -n 1 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
fi

cd kernel-configs/
OLD_CONFIGVERSION=${OLD_CONFIGVERSION:-$(/bin/ls -t config-huge-*.x64 | head -n 1 | rev | cut -f 2- -d . | cut -f 1 -d - | rev)}
cd ../

do_oldconfig64()
{
    cp ../kernel-configs/config-"$1"-$OLD_CONFIGVERSION.x64 ./.config
    mv ../kernel-configs/config-"$1"-$OLD_CONFIGVERSION.x64 ../kernel-configs/old/

    make oldconfig

    cp ./.config ../kernel-configs/config-"$1"-$VERSION.x64
}

do_oldconfig()
{
    cp ../kernel-configs/config-"$1"-$OLD_CONFIGVERSION ./.config
    mv ../kernel-configs/config-"$1"-$OLD_CONFIGVERSION ../kernel-configs/old/
    
    make oldconfig
    
    cp ./.config ../kernel-configs/config-"$1"-$VERSION
}

tar -xavf ./$PKGNAM-$VERSION.tar.?z
mkdir -p ./kernel-configs/old
cd ./$PKGNAM-$VERSION

do_oldconfig64 huge

do_oldconfig64 generic

do_oldconfig generic

cd ../

rm -r ./$PKGNAM-$VERSION

sudo su -c "VERSION=$VERSION bash ./build-all-kernels.sh"

exit_code=$?

if [ ${exit_code} -ge 1 ]; then
    echo "compilation failed, exiting"
    exit
fi

