[uboot-lantiq] cleanup configuration handling
[openwrt/svn-archive/archive.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))