summaryrefslogtreecommitdiffstats
path: root/boot/at91bootstrap3/at91bootstrap3.mk
diff options
context:
space:
mode:
authorSimon Dawson <spdawson@gmail.com>2012-08-17 09:36:23 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2012-08-17 17:58:16 +0200
commitca0d69c61cce256e0a6abd144cea4a2e26c46df8 (patch)
tree17f0bc95c4b727ca90dbf6d331f6fcf9a44dd9f8 /boot/at91bootstrap3/at91bootstrap3.mk
parentb18ed921d6d203ea22d64015c46ea2c857459ad6 (diff)
downloadbuildroot-novena-ca0d69c61cce256e0a6abd144cea4a2e26c46df8.tar.gz
buildroot-novena-ca0d69c61cce256e0a6abd144cea4a2e26c46df8.zip
at91bootstrap3: new package
Note that this new package, at91bootstrap3, is being added alongside the existing at91bootstrap. This was suggested by Thomas Petazzoni, whose comments on the mailing list are quoted below. For this package, I am not sure we can do a simple version bump. Since there is (was?) no upstream for AT91Bootstrap 1.x, many vendors/companies had to maintain their patches on top of AT91Bootstrap 1.x. See for example board/calao/usb-a9263/at91bootstrap-1.16-usb-a9263.patch. Therefore, removing AT91Bootstrap 1.x from the tree will prevent those platforms to work. I know people should upgrade, but AT91Bootstrap 3.x is quite significantly different, so the porting effort is not that simple. Therefore, I'm wondering whether we should kee at91bootstrap as it is, and create a separate package at91bootstrap3 for the 3.x generation. Signed-off-by: Simon Dawson <spdawson@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'boot/at91bootstrap3/at91bootstrap3.mk')
-rw-r--r--boot/at91bootstrap3/at91bootstrap3.mk67
1 files changed, 67 insertions, 0 deletions
diff --git a/boot/at91bootstrap3/at91bootstrap3.mk b/boot/at91bootstrap3/at91bootstrap3.mk
new file mode 100644
index 000000000..74f08e852
--- /dev/null
+++ b/boot/at91bootstrap3/at91bootstrap3.mk
@@ -0,0 +1,67 @@
+#############################################################
+#
+# at91bootstrap3
+#
+#############################################################
+AT91BOOTSTRAP3_VERSION = 3.2
+AT91BOOTSTRAP3_SITE = \
+ ftp://www.at91.com/pub/at91bootstrap/AT91Bootstrap$(AT91BOOTSTRAP3_VERSION)
+AT91BOOTSTRAP3_SOURCE = at91bootstrap_9n12.tar.gz
+
+AT91BOOTSTRAP3_INSTALL_IMAGES = YES
+AT91BOOTSTRAP3_INSTALL_TARGET = NO
+
+AT91BOOTSTRAP3_DEFCONFIG = \
+ $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG))
+AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE = \
+ $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE))
+AT91BOOTSTRAP3_CUSTOM_PATCH_DIR = \
+ $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR))
+
+AT91BOOTSTRAP3_MAKE_OPT = CROSS_COMPILE=$(TARGET_CROSS) DESTDIR=$(BINARIES_DIR)
+
+ifneq ($(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR),)
+define AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES
+ support/scripts/apply-patches.sh $(@D) $(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR) \
+ at91bootstrap3-\*.patch
+endef
+
+AT91BOOTSTRAP3_POST_PATCH_HOOKS += AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES
+endif
+
+ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y)
+AT91BOOTSTRAP3_SOURCE_CONFIG = \
+ $(@D)/board/*/$(AT91BOOTSTRAP3_DEFCONFIG)_defconfig
+else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG),y)
+AT91BOOTSTRAP3_SOURCE_CONFIG = $(AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE)
+endif
+
+define AT91BOOTSTRAP3_CONFIGURE_CMDS
+ cp $(AT91BOOTSTRAP3_SOURCE_CONFIG) $(@D)/.config
+ $(SED) 's/image.bin/uImage/' $(@D)/.config
+endef
+
+define AT91BOOTSTRAP3_BUILD_CMDS
+ $(MAKE) $(AT91BOOTSTRAP3_MAKE_OPT) -C $(@D) boot
+endef
+
+define AT91BOOTSTRAP3_INSTALL_IMAGES_CMDS
+ $(MAKE) $(AT91BOOTSTRAP3_MAKE_OPT) -C $(@D) bootstrap
+endef
+
+$(eval $(generic-package))
+
+# Checks to give errors that the user can understand
+ifeq ($(filter source,$(MAKECMDGOALS)),)
+ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y)
+ifeq ($(AT91BOOTSTRAP3_DEFCONFIG),)
+$(error No at91bootstrap3 defconfig name specified, check your BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG setting)
+endif
+endif
+
+ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG),y)
+ifeq ($(AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE),)
+$(error No at91bootstrap3 configuration file specified, check your BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE setting)
+endif
+endif
+endif