#
# Copyright (C) 2008 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

PKG_NAME:=u-boot
PKG_VERSION:=1.1.6
PKG_RELEASE:=1

PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_MD5SUM:=
PKG_CAT:=bzcat

UBOOT-PROFILE:=$(PROFILE)
UBOOT-ARAM-PROFILE:=$(PROFILE)_aram
ifeq ($(CONFIG_BOOT_NAND),y)
UBOOT-PROFILE:=$(UBOOT-PROFILE)-nand
endif

ifeq ($(CONFIG_TARGET_M83263G),y)
UBOOT-PROFILE:=$(PROFILE)-M83263G
  ifeq ($(CONFIG_BOOT_NAND),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nand
  endif
  ifneq ($(CONFIG_FPP_MODE),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nofpp
  endif
UBOOT-ARAM-PROFILE:=$(PROFILE)-M83263G_aram
endif
ifeq ($(CONFIG_TARGET_M83261G),y)
UBOOT-PROFILE:=$(PROFILE)-M83261G
  ifeq ($(CONFIG_BOOT_NAND),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nand
  endif
  ifneq ($(CONFIG_FPP_MODE),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nofpp
  endif
UBOOT-ARAM-PROFILE:=$(PROFILE)-M83261G_aram
endif
ifeq ($(CONFIG_TARGET_M83262G),y)
UBOOT-PROFILE:=$(PROFILE)-M83262G
  ifeq ($(CONFIG_BOOT_NAND),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nand
  endif
  ifneq ($(CONFIG_FPP_MODE),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nofpp
  endif
UBOOT-ARAM-PROFILE:=$(PROFILE)-M83262G_aram
endif
ifeq ($(CONFIG_TARGET_M83251G),y)
UBOOT-PROFILE:=$(PROFILE)-M83251G
  ifeq ($(CONFIG_BOOT_NAND),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nand
  endif
  ifneq ($(CONFIG_FPP_MODE),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nofpp
  endif
UBOOT-ARAM-PROFILE:=$(PROFILE)-M83251G_aram
endif
ifeq ($(CONFIG_TARGET_M83252G),y)
UBOOT-PROFILE:=$(PROFILE)-M83252G
  ifeq ($(CONFIG_BOOT_NAND),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nand
  endif
  ifneq ($(CONFIG_FPP_MODE),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nofpp
  endif
UBOOT-ARAM-PROFILE:=$(PROFILE)-M83252G_aram
endif
ifeq ($(CONFIG_TARGET_M83241G),y)
UBOOT-PROFILE:=$(PROFILE)-M83241G
  ifeq ($(CONFIG_BOOT_NAND),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nand
  endif
  ifneq ($(CONFIG_FPP_MODE),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nofpp
  endif
UBOOT-ARAM-PROFILE:=$(PROFILE)-M83241G_aram
endif
ifeq ($(CONFIG_TARGET_M83242G),y)
UBOOT-PROFILE:=$(PROFILE)-M83242G
  ifeq ($(CONFIG_BOOT_NAND),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nand
  endif
  ifneq ($(CONFIG_FPP_MODE),y)
  UBOOT-PROFILE:=$(UBOOT-PROFILE)-nofpp
  endif
UBOOT-ARAM-PROFILE:=$(PROFILE)-M83242G_aram
endif

include $(INCLUDE_DIR)/package.mk

ifeq ($(CONFIG_DEV_U_BOOT),y)
ifeq ($(CONFIG_DEV_U_BOOT_CVSBRANCH), "")
define Build/Prepare
	pushd "$(KERNEL_BUILD_DIR)" && \
	cvs -z6 -d:pserver:$(CONFIG_ACTIVEDEV_CVSUSERNAME)@$(CONFIG_ACTIVEDEV_CVSROOTPATH):/prj/msacvs/enterprise checkout -d u-boot-$(PKG_VERSION) $(CONFIG_DEV_U_BOOT_MODULENAME) &&\
	popd
endef

else
define Build/Prepare
	pushd "$(KERNEL_BUILD_DIR)" && \
	cvs -z6 -d:pserver:$(CONFIG_ACTIVEDEV_CVSUSERNAME)@$(CONFIG_ACTIVEDEV_CVSROOTPATH):/prj/msacvs/enterprise checkout -d u-boot-$(PKG_VERSION) -r $(CONFIG_DEV_U_BOOT_CVSBRANCH) $(CONFIG_DEV_U_BOOT_MODULENAME) &&\
	popd
endef
endif

else
PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot
endif

# We build the ARAM version first, because some customers/some old scripts may expect the regular version to be in $(PKG_BUILD_DIR) after the build.
ifeq ($(CONFIG_BOOT_NAND),y)
define Build/Configure
	$(MAKE) -C $(PKG_BUILD_DIR) distclean
	$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) $(UBOOT-ARAM-PROFILE)_config
	$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) u-boot_aram.elf
	mkdir -p ${BIN_DIR}
	$(CP) $(PKG_BUILD_DIR)/u-boot_aram.elf $(TOPDIR)/bin/
	$(MAKE) -C $(PKG_BUILD_DIR) distclean
	$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) $(UBOOT-PROFILE)_config
	$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS)
	$(CP) $(PKG_BUILD_DIR)/u-boot.bin $(TOPDIR)/bin/
	$(CP) $(PKG_BUILD_DIR)/u-boot $(TOPDIR)/bin/
endef
else
define Build/Configure
	$(MAKE) -C $(PKG_BUILD_DIR) clean
	$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) $(UBOOT-ARAM-PROFILE)_config
	$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) u-boot_aram.elf
	mkdir -p ${BIN_DIR}
	$(CP) $(PKG_BUILD_DIR)/u-boot $(TOPDIR)/bin/u-boot_aram.elf
	$(MAKE) -C $(PKG_BUILD_DIR) clean
	$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) $(UBOOT-PROFILE)_config
	$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS)
	$(CP) $(PKG_BUILD_DIR)/u-boot.bin $(TOPDIR)/bin/
endef
endif

define Build/Compile
endef

define Build/InstallDev
endef

$(eval $(call Build/DefaultTargets))
