1aeeceb9e07069e26b28720d10c0ddf4543b2e7c
[openwrt/staging/chunkeey.git] / package / boot / uboot-sunxi / Makefile
1 #
2 # Copyright (C) 2013-2014 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:=2015.07
13 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
14 PKG_SOURCE_URL:= \
15 http://mirror2.openwrt.org/sources \
16 ftp://ftp.denx.de/pub/u-boot
17
18 PKG_MD5SUM:=3dac9a0b46fed77fc768ad3bd2d68c05
19
20 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
21
22 PKG_LICENSE:=GPL-2.0 GPL-2.0+
23 PKG_LICENSE_FILES:=Licenses/README
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define uboot/Default
28 TITLE:=
29 CONFIG:=
30 IMAGE:=
31 endef
32
33 define uboot/A10-OLinuXino-Lime
34 TITLE:=U-Boot for the A10 OLinuXino LIME
35 endef
36
37 define uboot/A13-OLinuXino
38 TITLE:=U-Boot for the A13 OlinuXino
39 endef
40
41 define uboot/A20-OLinuXino-Lime
42 TITLE:=U-Boot for the A20 OLinuXino LIME
43 endef
44
45 define uboot/A20-OLinuXino_MICRO
46 TITLE:=U-Boot for A20 OLinuXino MICRO
47 endef
48
49 define uboot/Bananapi
50 TITLE:=U-Boot for Bananapi
51 endef
52
53 define uboot/Bananapro
54 TITLE:=U-Boot for Bananapro
55 endef
56
57 define uboot/Cubieboard
58 TITLE:=U-Boot for Cubieboard
59 endef
60
61 define uboot/Cubieboard2
62 TITLE:=U-Boot for Cubieboard2
63 endef
64
65 define uboot/Cubietruck
66 TITLE:=U-Boot for Cubietruck
67 endef
68
69 define uboot/Mele_M9
70 TITLE:=U-Boot for the Mele M9 (A31)
71 endef
72
73 define uboot/OLIMEX_A13_SOM
74 TITLE:=U-Boot for the Olimex A13 SOM
75 endef
76
77 define uboot/Linksprite_pcDuino
78 TITLE:=U-Boot for Linksprite pcDuino
79 endef
80
81 define uboot/Linksprite_pcDuino3
82 TITLE:=U-Boot for Linksprite pcDuino3
83 endef
84
85 define uboot/Lamobo_R1
86 TITLE:=U-Boot for Lamobo R1
87 endef
88
89 UBOOTS:= \
90 A10-OLinuXino-Lime \
91 A13-OLinuXino \
92 A20-OLinuXino-Lime \
93 A20-OLinuXino_MICRO \
94 Bananapi \
95 Bananapro \
96 Cubieboard \
97 Cubieboard2 \
98 Cubietruck \
99 Mele_M9 \
100 OLIMEX_A13_SOM \
101 Linksprite_pcDuino \
102 Linksprite_pcDuino3 \
103 Lamobo_R1 \
104
105 define Package/uboot/template
106 define Package/uboot-sunxi-$(1)
107 SECTION:=boot
108 CATEGORY:=Boot Loaders
109 DEPENDS:=@TARGET_sunxi
110 TITLE:=$(2)
111 URL:=http://www.denx.de/wiki/U-Boot
112 VARIANT:=$(1)
113 MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
114 endef
115 endef
116
117 define BuildUBootPackage
118 $(eval $(uboot/Default))
119 $(eval $(uboot/$(1)))
120 $(call Package/uboot/template,$(1),$(TITLE))
121 endef
122
123 ifdef BUILD_VARIANT
124 $(eval $(call uboot/$(BUILD_VARIANT)))
125 UBOOT_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT))
126 UBOOT_IMAGE:=$(if $(IMAGE),$(IMAGE),openwrt-$(BOARD)-$(BUILD_VARIANT)-u-boot.bin)
127 endif
128
129 define Build/Configure
130 $(MAKE) -C $(PKG_BUILD_DIR) \
131 USE_PRIVATE_LIBGCC=yes $(UBOOT_CONFIG)_defconfig
132 endef
133
134 define Build/Compile
135 $(MAKE) -C $(PKG_BUILD_DIR) \
136 CROSS_COMPILE=$(TARGET_CROSS) \
137 DTCDIR=$(LINUX_DIR)/scripts/dtc/
138 endef
139
140 define Package/uboot/install/default
141 $(INSTALL_DIR) $(BIN_DIR)/uboot-$(BOARD)-$(1)
142 $(CP) $(PKG_BUILD_DIR)/u-boot.bin \
143 $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot.bin
144 $(CP) $(PKG_BUILD_DIR)/spl/sunxi-spl.bin \
145 $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-spl.bin
146 $(CP) $(PKG_BUILD_DIR)/u-boot-sunxi-with-spl.bin \
147 $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-u-boot-with-spl.bin
148 $(CP) uEnv.txt \
149 $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-uEnv.txt
150 mkimage -C none -A arm -T script -d $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-uEnv.txt $(BIN_DIR)/uboot-$(BOARD)-$(1)/openwrt-$(BOARD)-$(1)-boot.scr
151 endef
152
153 define Package/uboot/install/template
154 define Package/uboot-sunxi-$(1)/install
155 $(call Package/uboot/install/default,$(2))
156 endef
157 endef
158
159 $(foreach u,$(UBOOTS), \
160 $(eval $(call Package/uboot/install/template,$(u),$(u))) \
161 )
162
163 $(foreach u,$(UBOOTS), \
164 $(eval $(call BuildUBootPackage,$(u))) \
165 $(eval $(call BuildPackage,uboot-sunxi-$(u))) \
166 )