[uboot-lantiq] cleanup configuration handling
[openwrt-10.03/.git] / package / uboot-lantiq / Makefile
1 #
2 # Copyright (C) 2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=u-boot
12 PKG_VERSION:=2009.11.1
13 PKG_MD5SUM:=6086421c9e2f3a0d0dbc5f706b551dbc
14 PKG_RELEASE:=1
15
16 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
17 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
18 PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot
19 PKG_TARGETS:=bin
20
21 include $(INCLUDE_DIR)/package.mk
22
23 ifeq ($(DUMP),)
24   STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell grep '^CONFIG_UBOOT_' $(TOPDIR)/.config | md5s)
25 endif
26
27 define Package/uboot-lantiq
28   SECTION:=boot
29   CATEGORY:=Boot Loaders
30   DEPENDS:=@TARGET_ifxmips
31   TITLE:=U-Boot for Lantiq reference boards
32   URL:=http://www.denx.de/wiki/U-Boot
33 endef
34
35 define Build/Prepare
36         $(PKG_UNPACK)
37         cp -r $(CP_OPTS) $(FILES_DIR)/* $(PKG_BUILD_DIR)/
38         $(Build/Patch)
39         find $(PKG_BUILD_DIR) -name .svn | $(XARGS) rm -rf
40 endef
41
42 UBOOT_TARGET:=$(call qstrip,$(CONFIG_UBOOT_TARGET))
43 UBOOT_RAMBOOT_DDR_CONFIG:=$(call qstrip,$(CONFIG_UBOOT_RAMBOOT_DDR_CONFIG))
44
45 UBOOT_MAKE_OPTS:= \
46         CROSS_COMPILE=$(TARGET_CROSS) \
47         ENDIANNESS= \
48         V=1
49
50 define Package/uboot-lantiq/config
51         source "$(SOURCE)/Config.in"
52 endef
53
54 define Build/Configure/Target
55         $(MAKE) -s -C $(PKG_BUILD_DIR) \
56                 $(UBOOT_MAKE_OPTS) \
57                 O=$(PKG_BUILD_DIR)/$(1) \
58                 $(1)_config
59 endef
60
61 define Build/Configure
62         $(call Build/Configure/Target,$(UBOOT_TARGET))
63 ifeq ($(CONFIG_UBOOT_RAMBOOT),y)
64         $(call Build/Configure/Target,$(UBOOT_TARGET)_ramboot)
65 endif
66 endef
67
68 define Build/Compile/Target
69         $(MAKE) -s -C $(PKG_BUILD_DIR) \
70                 $(UBOOT_MAKE_OPTS) \
71                 O=$(PKG_BUILD_DIR)/$(1) \
72                 all
73 endef
74
75 define Build/Compile
76         $(call Build/Compile/Target,$(UBOOT_TARGET))
77 ifeq ($(CONFIG_UBOOT_RAMBOOT),y)
78         $(call Build/Compile/Target,$(UBOOT_TARGET)_ramboot)
79 endif
80 endef
81
82 define Package/uboot-lantiq/install
83         mkdir -p $(1)/$(UBOOT_TARGET)
84         dd \
85                 if=$(PKG_BUILD_DIR)/$(UBOOT_TARGET)/u-boot.bin \
86                 of=$(1)/$(UBOOT_TARGET)/u-boot.bin \
87                 bs=64k conv=sync
88 ifeq ($(CONFIG_UBOOT_RAMBOOT),y)
89         if [ -e $(UBOOT_RAMBOOT_DDR_CONFIG) ]; then \
90                 perl ./gct \
91                         $(UBOOT_RAMBOOT_DDR_CONFIG) \
92                         $(PKG_BUILD_DIR)/$(UBOOT_TARGET)_ramboot/u-boot.srec \
93                         $(1)/$(UBOOT_TARGET)/u-boot.asc; \
94         fi
95 endif
96 endef
97
98 $(eval $(call BuildPackage,uboot-lantiq))