diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2010-03-14 18:20:45 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2010-06-10 21:05:12 +0200 |
commit | 649b5b92509dba021ed47ef4c04f358de83ba36f (patch) | |
tree | e0f22590fe9a99eba5565bbb4738b6f833b2c9fb /boot/at91bootstrap/at91bootstrap.mk | |
parent | 7c709f4affc44f3bbc9a09fec8d84ae3807e31e7 (diff) |
bootloaders: move bootloader build code to boot/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'boot/at91bootstrap/at91bootstrap.mk')
-rw-r--r-- | boot/at91bootstrap/at91bootstrap.mk | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/boot/at91bootstrap/at91bootstrap.mk b/boot/at91bootstrap/at91bootstrap.mk new file mode 100644 index 000000000..2072c6bf6 --- /dev/null +++ b/boot/at91bootstrap/at91bootstrap.mk @@ -0,0 +1,110 @@ +############################################################# +# +# at91bootstrap +# +############################################################# +AT91BOOTSTRAP_VERSION:=2.10 +AT91BOOTSTRAP_PATCH_LEVEL:= +AT91BOOTSTRAP_PATCHED_VERSION:=$(AT91BOOTSTRAP_VERSION)$(AT91BOOTSTRAP_PATCH_LEVEL) +AT91BOOTSTRAP_NAME:=at91bootstrap-$(AT91BOOTSTRAP_VERSION) +ATMEL_MIRROR:=$(call qstrip,$(BR2_ATMEL_MIRROR)) +AT91BOOTSTRAP_SITE:=$(ATMEL_MIRROR) +AT91BOOTSTRAP_SOURCE:=$(AT91BOOTSTRAP_NAME).tar.bz2 +AT91BOOTSTRAP_DIR:=$(BUILD_DIR)/$(AT91BOOTSTRAP_NAME) +AT91BOOTSTRAP:=$(call qstrip,$(BR2_AT91BOOTSTRAP)) +AT91BOOTSTRAP_ZCAT:=$(BZCAT) + +AT91BOOTSTRAP_BOARD:=$(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_BOARD)) + +AT91BOOTSTRAP_MEMORY:=$(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_MEMORY)) + +AT91BOOTSTRAP_BINARY:=$(BOARD_NAME)-$(AT91BOOTSTRAP_MEMORY)boot-$(AT91BOOTSTRAP_PATCHED_VERSION).bin + +AT91BOOTSTRAP_TARGET:=$(AT91BOOTSTRAP_DIR)/binaries/$(AT91BOOTSTRAP_BINARY) + +AT91BOOTSTRAP_JUMP_ADDR:=$(call qstrip,$(BR2_AT91BOOTSTRAP_JUMP_ADDR)) +AT91BOOTSTRAP_IMG_SIZE:=$(call qstrip,$(BR2_AT91BOOTSTRAP_IMG_SIZE)) + +AT91_CUSTOM_FLAGS:= +ifneq ($(AT91BOOTSTRAP_JUMP_ADDR),) +AT91_CUSTOM_FLAGS+=-DJUMP_ADDR=$(AT91BOOTSTRAP_JUMP_ADDR) +endif +ifneq ($(AT91BOOTSTRAP_IMG_SIZE),) +AT91_CUSTOM_FLAGS+=-DIMG_SIZE=$(AT91BOOTSTRAP_IMG_SIZE) +endif + +$(DL_DIR)/$(AT91BOOTSTRAP_SOURCE): + $(call DOWNLOAD,$(AT91BOOTSTRAP_SITE),$(AT91BOOTSTRAP_SOURCE)) + +$(AT91BOOTSTRAP_DIR)/.unpacked: $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) + mkdir -p $(BUILD_DIR) + $(AT91BOOTSTRAP_ZCAT) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + toolchain/patch-kernel.sh $(AT91BOOTSTRAP_DIR) boot/at91bootstrap/ at91bootstrap-$(AT91BOOTSTRAP_VERSION)\*.patch + touch $(AT91BOOTSTRAP_DIR)/.unpacked + +$(AT91BOOTSTRAP_DIR)/.configured: $(AT91BOOTSTRAP_DIR)/.unpacked .config + $(MAKE) \ + MEMORY=$(AT91BOOTSTRAP_MEMORY) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + -C $(AT91BOOTSTRAP_DIR) \ + $(AT91BOOTSTRAP_BOARD)_defconfig + touch $(AT91BOOTSTRAP_DIR)/.configured + +# $(BOARD_NAME)_defconfig + +$(AT91BOOTSTRAP_TARGET): $(AT91BOOTSTRAP_DIR)/.configured + $(MAKE) \ + MEMORY=$(AT91BOOTSTRAP_MEMORY) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + AT91_CUSTOM_FLAGS="$(AT91_CUSTOM_FLAGS)" \ + -C $(AT91BOOTSTRAP_DIR) + +$(AT91BOOTSTRAP_DIR)/.installed:: $(AT91BOOTSTRAP_TARGET) + mkdir -p $(BINARIES_DIR) +ifeq ($(AT91BOOTSTRAP_VERSION),2.3) + cp $(AT91BOOTSTRAP_TARGET) $(BINARIES_DIR)/$(AT91BOOTSTRAP_BINARY) + $(call COPY_FILE, $(AT91BOOTSTRAP_TARGET), $(BR2_TARGET_ATMEL_COPYTO), $(AT91BOOTSTRAP_BINARY)) +else + make MEMORY=$(AT91BOOTSTRAP_MEMORY) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + -C $(AT91BOOTSTRAP_DIR) boot + make DESTDIR=$(BINARIES_DIR) -C $(AT91BOOTSTRAP_DIR) install || \ + echo "Could not copy bootstrap to BINARIES_DIR" +ifneq ($(BR2_TARGET_ATMEL_COPYTO),) + make DESTDIR=$(BR2_TARGET_ATMEL_COPYTO) -C $(AT91BOOTSTRAP_DIR) install || \ + echo "Could not copy bootstrap to BR2_ATMEL_COPYTO" +endif +endif + touch $@ + +# cp $(AT91BOOTSTRAP_TARGET) $(BINARIES_DIR)/$(AT91BOOTSTRAP_BINARY) +# cp $(AT91BOOTSTRAP_TARGET) $(BR2_TARGET_ATMEL_COPYTO)/$(AT91BOOTSTRAP_BINARY) + +.PHONY: at91bootstrap at91bootstrap-source + +at91bootstrap: $(AT91BOOTSTRAP_DIR)/.installed + +at91bootstrap-source: $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) + +at91bootstrap-unpacked: $(AT91BOOTSTRAP_DIR)/.unpacked + +.PHONY: at91bootstrap-clean at91bootstrap-dirclean + +at91bootstrap-clean: + make -C $(AT91BOOTSTRAP_DIR) clean + +at91bootstrap-dirclean: + rm -rf $(AT91BOOTSTRAP_DIR) + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +ifeq ($(BR2_TARGET_AT91BOOTSTRAP),y) +TARGETS+=at91bootstrap +endif + +at91bootstrap-status: + @echo AT91BOOTSTRAP_BOARD=$(AT91BOOTSTRAP_BOARD) + |