#!/bin/sh

if [ ! -f .config ]; then
  echo "Call from kernel source dir!"; exit
fi

V=`pwd | ruby -e "puts STDIN.gets.split('/').last.split('-')[1..-1].join '-'"`;
echo "Building Kernel @$V"

make mrproper
cp -v ../config .config
make -j $(nproc)

# modules
# FIXME: This will fail when there already exists a directory for version $V
sudo make modules_install
sudo ln -s /lib/modules/$V-* /lib/modules/$V

# cp to /boot + run lilo
sudo cp -v arch/x86/boot/bzImage /boot/kernel
sudo sha1sum /boot/kernel > /tmp/kernel.sha1
sudo mv /tmp/kernel.sha1 /boot/kernel.sha1
sudo /sbin/lilo

# /usr/src/linux symlink
sudo rm /usr/src/linux
find . -type d | xargs chmod a+rx
find . -type f | xargs chmod a+r
find . -executable | xargs chmod a+x
sudo ln -s $(pwd) /usr/src/linux

pushd .

# tp smapi
cd ../extra_modules/tp_smapi/
sudo make HDAPS=0 install KVER=$V KSRC=/usr/src/linux KBUILD=../../linux-$V
sudo make clean

# phc intel
cd ../phc_intel/
KERNELRELEASE=$V KERNELSRC=/usr/src/linux make
sudo make install
make clean
sudo depmod

popd

sudo chown -R pks:pks * .* ../extra_modules