merge of '7393275c6ccce67cadeb49d4afb3459e56edf8a9'
[vuplus_openembedded] / packages / u-boot / u-boot-openmoko_1.3.1+git+svn.bb
1 DESCRIPTION = "U-boot bootloader w/ Neo1973 (GTA01) and Neo FreeRunner (GTA02) support"
2 AUTHOR = "Harald Welte <laforge@openmoko.org>, OpenMoko <openmoko-kernel@lists.openmoko.org>"
3 LICENSE = "GPL"
4 SECTION = "bootloader"
5 PRIORITY = "optional"
6
7 UBOOT_UPSTREAM_REV = "b29661fc1151077776454288051bc9a488351ce8"
8 UBOOT_MACHINES = "gta01bv2 gta01bv3 gta01bv4 gta02v2 gta02v3 gta02v4 gta02v5"
9 SRCREV_FORMAT = "+gitupstream+svnpatchset"
10
11 PV = "1.3.1${SRCREV}"
12 PR = "r3"
13
14 PROVIDES = "virtual/bootloader"
15 S = "${WORKDIR}/git"
16
17 SRC_URI = "\
18   git://www.denx.de/git/u-boot.git;protocol=git;tag=${UBOOT_UPSTREAM_REV};name=upstream \
19   svn://svn.openmoko.org/trunk/src/target/u-boot;module=patches;proto=http;name=patchset \
20   file://uboot-20070311-tools_makefile_ln_sf.patch;patch=1 \
21 #  file://makefile-no-dirafter.patch;patch=1 \
22 #  file://fix-data-abort-from-sd-ombug799.patch;patch=1 \
23 "
24
25 EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX}"
26 TARGET_LDFLAGS = ""
27
28 do_quilt() {
29         mv ${WORKDIR}/patches ${S}/patches && cd ${S} && quilt push -av
30         rm -Rf patches .pc
31 }
32
33 do_svnrev() {
34         mv -f tools/setlocalversion tools/setlocalversion.old
35         echo "echo ${LOCALVERSION}" >>tools/setlocalversion
36 }
37
38 do_compile () {
39         chmod +x board/neo1973/gta*/split_by_variant.sh
40         for mach in ${UBOOT_MACHINES}
41         do
42                 oe_runmake ${mach}_config
43                 oe_runmake clean
44                 find board -name lowlevel_foo.bin -exec rm '{}' \;
45                 oe_runmake all
46                 oe_runmake u-boot.udfu
47                 if [ -f u-boot.udfu ]; then
48                         mv u-boot.udfu u-boot_${mach}.bin
49                 else
50                         mv u-boot.bin u-boot_${mach}.bin
51                 fi
52                 if [ -f board/${mach}/lowlevel_foo.bin ]; then
53                         mv board/${mach}/lowlevel_foo.bin \
54                             lowlevel_foo_${mach}.bin
55                 else
56                         find board -name lowlevel_foo.bin \
57                             -exec mv '{}' lowlevel_foo_${mach}.bin \;
58                 fi
59         done
60 }
61
62 do_deploy () {
63         install -d ${DEPLOY_DIR_IMAGE}
64         for mach in ${UBOOT_MACHINES}
65         do
66                 install -m 0644 ${S}/u-boot_${mach}.bin ${DEPLOY_DIR_IMAGE}/u-boot-${mach}-${PV}-${PR}.bin
67                 ln -sf ${DEPLOY_DIR_IMAGE}/u-boot-${mach}-${PV}-${PR}.bin ${DEPLOY_DIR_IMAGE}/uboot-${mach}-latest.bin
68                 if [ -f ${S}/lowlevel_foo_${mach}.bin ]; then
69                         install -m 0644 ${S}/lowlevel_foo_${mach}.bin ${DEPLOY_DIR_IMAGE}/lowlevel_foo-${mach}-${PV}-${PR}.bin
70                         ln -sf ${DEPLOY_DIR_IMAGE}/lowlevel_foo-${mach}-${PV}-${PR}.bin ${DEPLOY_DIR_IMAGE}/lowlevel-foo-${mach}-latest.bin
71                 fi
72         done
73         install -m 0755 tools/mkimage ${STAGING_BINDIR_NATIVE}/uboot-mkimage
74 }
75
76 do_deploy[dirs] = "${S}"
77 addtask deploy before do_package after do_install
78 addtask quilt before do_patch after do_unpack
79 addtask svnrev before do_patch after do_quilt