#!/bin/sh

################################################################################
#      This file is part of OpenELEC - http://www.openelec.tv
#      Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
#  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 2, 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 OpenELEC.tv; see the file COPYING.  If not, write to
#  the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
#  http://www.gnu.org/copyleft/gpl.html
################################################################################

. config/options $1

if [ "$BOOTLOADER" = "u-boot" ]; then
  $SCRIPTS/build u-boot
  KERNEL_IMAGE="uImage"
else
  KERNEL_IMAGE="bzImage"
fi

# dont build parallel
  MAKEFLAGS=-j1

cd $(kernel_path)
rm -rf modules
mkdir -p modules

LDFLAGS="" make modules
LDFLAGS="" make INSTALL_MOD_PATH=modules DEPMOD="$ROOT/$TOOLCHAIN/bin/depmod" modules_install
rm -f modules/lib/modules/*/build
rm -f modules/lib/modules/*/source
cd -

export INSTALL=$ROOT/$BUILD/image/initramfs/root-image
$SCRIPTS/install initramfs

cd $INSTALL
  find . | cpio -H newc -ov -R 0:0 > $ROOT/$BUILD/image/initramfs.cpio
cd -

cd $(kernel_path)
LDFLAGS="" make $KERNEL_IMAGE

( cd tools/power/cpupower

  # dont use some optimizations because of build problems
    LDFLAGS=`echo $LDFLAGS | sed -e "s|-Wl,--as-needed||"`

  export CFLAGS="$CFLAGS -I$SYSROOT_PREFIX/usr/include"
  export LDFLAGS="$LDFLAGS -L$SYSROOT_PREFIX/lib -L$SYSROOT_PREFIX/usr/lib"

  make CROSS="$TARGET_PREFIX" \
       V=1 \
       DEBUG=false \
       NLS=false \
)
