diff --git a/packages/tools/u-boot/build b/packages/tools/u-boot/build
deleted file mode 100755
index 52ab6530a5..0000000000
--- a/packages/tools/u-boot/build
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh
-
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
-#
-# OpenELEC 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 of the License, or
-# (at your option) any later version.
-#
-# OpenELEC 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. If not, see .
-################################################################################
-
-. config/options $1
-
-BOOT_CFG="$PROJECT_DIR/$PROJECT/bootloader/boot.cfg"
-
-unset LDFLAGS
-
-# dont use some optimizations because of problems
- MAKEFLAGS=-j1
-
-if [ -z "$UBOOT_CONFIG" ]; then
- echo "$TARGET_PLATFORM does not define any u-boot configuration, aborting."
- echo "Please add MACHINE_UBOOT_CONFIG to your platform meta file"
- exit 1
-fi
-
-if [ -z "$UBOOT_CONFIGFILE" ]; then
- UBOOT_CONFIGFILE="boot.scr"
-fi
-
-cd $PKG_BUILD
-
-make CROSS_COMPILE="$TARGET_PREFIX" ARCH="$TARGET_ARCH" $UBOOT_CONFIG
-make CROSS_COMPILE="$TARGET_PREFIX" ARCH="$TARGET_ARCH" HOSTCC="$HOST_CC" HOSTSTRIP="true"
-
-mkdir -p $ROOT/$TOOLCHAIN/bin
- if [ -f build/tools/mkimage ]; then
- cp build/tools/mkimage $ROOT/$TOOLCHAIN/bin
- else
- cp tools/mkimage $ROOT/$TOOLCHAIN/bin
- fi
-
-if [ -r "$BOOT_CFG" ]; then
- cp $BOOT_CFG boot.cfg
- mkimage -A "$TARGET_ARCH" \
- -O u-boot \
- -T script \
- -C none \
- -n "$DISTRONAME Boot" \
- -d boot.cfg \
- $UBOOT_CONFIGFILE
-fi
diff --git a/packages/tools/u-boot/install b/packages/tools/u-boot/install
deleted file mode 100755
index 8fdfa51041..0000000000
--- a/packages/tools/u-boot/install
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
-#
-# OpenELEC 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 of the License, or
-# (at your option) any later version.
-#
-# OpenELEC 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. If not, see .
-################################################################################
-
-. config/options $1
-
-if [ -z "$UBOOT_CONFIGFILE" ]; then
- UBOOT_CONFIGFILE="boot.scr"
-fi
-
-mkdir -p $INSTALL/usr/share/u-boot
- cp $PKG_BUILD/u-boot.bin $INSTALL/usr/share/u-boot
-
-if [ -f "$PKG_BUILD/MLO" ]; then
- cp $PKG_BUILD/MLO $INSTALL/usr/share/u-boot
-fi
-
-if [ -f "$PKG_BUILD/boot.cfg" ]; then
- cp $PKG_BUILD/boot.cfg $INSTALL/usr/share/u-boot
-fi
-
-if [ -f "$PKG_BUILD/$UBOOT_CONFIGFILE" ]; then
- cp $PKG_BUILD/$UBOOT_CONFIGFILE $INSTALL/usr/share/u-boot
-fi
diff --git a/packages/tools/u-boot/meta b/packages/tools/u-boot/package.mk
similarity index 55%
rename from packages/tools/u-boot/meta
rename to packages/tools/u-boot/package.mk
index ea23c39f56..38b0ac15f9 100644
--- a/packages/tools/u-boot/meta
+++ b/packages/tools/u-boot/package.mk
@@ -29,8 +29,8 @@ fi
PKG_REV="1"
PKG_ARCH="arm"
PKG_LICENSE="GPL"
-PKG_DEPENDS=""
-PKG_BUILD_DEPENDS="toolchain"
+PKG_DEPENDS_TARGET=""
+PKG_BUILD_DEPENDS_TARGET="toolchain"
PKG_PRIORITY="optional"
PKG_SECTION="tools"
PKG_SHORTDESC="u-boot: Universal Bootloader project"
@@ -38,3 +38,61 @@ PKG_LONGDESC="Das U-Boot is a cross-platform bootloader for embedded systems, us
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
+
+pre_configure_target() {
+ if [ -z "$UBOOT_CONFIG" ]; then
+ echo "$TARGET_PLATFORM does not define any u-boot configuration, aborting."
+ echo "Please add MACHINE_UBOOT_CONFIG to your platform meta file"
+ exit 1
+ fi
+
+ if [ -z "$UBOOT_CONFIGFILE" ]; then
+ UBOOT_CONFIGFILE="boot.scr"
+ fi
+
+ unset LDFLAGS
+
+# dont use some optimizations because of problems
+ MAKEFLAGS=-j1
+}
+
+make_target() {
+ make CROSS_COMPILE="$TARGET_PREFIX" ARCH="$TARGET_ARCH" $UBOOT_CONFIG
+ make CROSS_COMPILE="$TARGET_PREFIX" ARCH="$TARGET_ARCH" HOSTCC="$HOST_CC" HOSTSTRIP="true"
+
+ BOOT_CFG="$PROJECT_DIR/$PROJECT/bootloader/boot.cfg"
+ if [ -r "$BOOT_CFG" ]; then
+ cp $BOOT_CFG boot.cfg
+ mkimage -A "$TARGET_ARCH" \
+ -O u-boot \
+ -T script \
+ -C none \
+ -n "$DISTRONAME Boot" \
+ -d boot.cfg \
+ $UBOOT_CONFIGFILE
+ fi
+}
+
+makeinstall_target() {
+ mkdir -p $ROOT/$TOOLCHAIN/bin
+ if [ -f build/tools/mkimage ]; then
+ cp build/tools/mkimage $ROOT/$TOOLCHAIN/bin
+ else
+ cp tools/mkimage $ROOT/$TOOLCHAIN/bin
+ fi
+
+ mkdir -p $INSTALL/usr/share/u-boot
+ cp ./u-boot.bin $INSTALL/usr/share/u-boot
+
+ if [ -f "./MLO" ]; then
+ cp ./MLO $INSTALL/usr/share/u-boot
+ fi
+
+ if [ -f "./boot.cfg" ]; then
+ cp ./boot.cfg $INSTALL/usr/share/u-boot
+ fi
+
+ if [ -f "./$UBOOT_CONFIGFILE" ]; then
+ cp ./$UBOOT_CONFIGFILE $INSTALL/usr/share/u-boot
+ fi
+}