2
1

at91bootstrap.mk 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #############################################################
  2. #
  3. # at91bootstrap
  4. #
  5. #############################################################
  6. AT91BOOTSTRAP_VERSION:=2.13
  7. AT91BOOTSTRAP_NAME:=at91bootstrap-$(AT91BOOTSTRAP_VERSION)
  8. AT91BOOTSTRAP_SITE:=ftp://www.at91.com/pub/buildroot/
  9. AT91BOOTSTRAP_SOURCE:=$(AT91BOOTSTRAP_NAME).tar.bz2
  10. AT91BOOTSTRAP_DIR:=$(BUILD_DIR)/$(AT91BOOTSTRAP_NAME)
  11. AT91BOOTSTRAP:=$(call qstrip,$(BR2_AT91BOOTSTRAP))
  12. AT91BOOTSTRAP_ZCAT:=$(BZCAT)
  13. AT91BOOTSTRAP_BOARD:=$(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_BOARD))
  14. AT91BOOTSTRAP_MEMORY:=$(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_MEMORY))
  15. AT91BOOTSTRAP_BINARY:=$(AT91BOOTSTRAP_BOARD)-$(AT91BOOTSTRAP_MEMORY)boot.bin
  16. AT91BOOTSTRAP_TARGET:=$(AT91BOOTSTRAP_DIR)/binaries/$(AT91BOOTSTRAP_BINARY)
  17. AT91BOOTSTRAP_JUMP_ADDR:=$(call qstrip,$(BR2_AT91BOOTSTRAP_JUMP_ADDR))
  18. AT91BOOTSTRAP_IMG_SIZE:=$(call qstrip,$(BR2_AT91BOOTSTRAP_IMG_SIZE))
  19. AT91_CUSTOM_FLAGS:=
  20. ifneq ($(AT91BOOTSTRAP_JUMP_ADDR),)
  21. AT91_CUSTOM_FLAGS+=-DJUMP_ADDR=$(AT91BOOTSTRAP_JUMP_ADDR)
  22. endif
  23. ifneq ($(AT91BOOTSTRAP_IMG_SIZE),)
  24. AT91_CUSTOM_FLAGS+=-DIMG_SIZE=$(AT91BOOTSTRAP_IMG_SIZE)
  25. endif
  26. $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE):
  27. $(call DOWNLOAD,$(AT91BOOTSTRAP_SITE),$(AT91BOOTSTRAP_SOURCE))
  28. $(AT91BOOTSTRAP_DIR)/.unpacked: $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
  29. mkdir -p $(BUILD_DIR)
  30. $(AT91BOOTSTRAP_ZCAT) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  31. toolchain/patch-kernel.sh $(AT91BOOTSTRAP_DIR) boot/at91bootstrap/ at91bootstrap-$(AT91BOOTSTRAP_VERSION)\*.patch
  32. touch $(AT91BOOTSTRAP_DIR)/.unpacked
  33. $(AT91BOOTSTRAP_DIR)/.configured: $(AT91BOOTSTRAP_DIR)/.unpacked
  34. $(MAKE) \
  35. MEMORY=$(AT91BOOTSTRAP_MEMORY) \
  36. CROSS_COMPILE=$(TARGET_CROSS) \
  37. -C $(AT91BOOTSTRAP_DIR) \
  38. $(AT91BOOTSTRAP_BOARD)_defconfig
  39. touch $(AT91BOOTSTRAP_DIR)/.configured
  40. $(AT91BOOTSTRAP_TARGET): $(AT91BOOTSTRAP_DIR)/.configured
  41. $(MAKE) \
  42. MEMORY=$(AT91BOOTSTRAP_MEMORY) \
  43. CROSS_COMPILE=$(TARGET_CROSS) \
  44. AT91_CUSTOM_FLAGS="$(AT91_CUSTOM_FLAGS)" \
  45. -C $(AT91BOOTSTRAP_DIR)
  46. $(AT91BOOTSTRAP_DIR)/.installed:: $(AT91BOOTSTRAP_TARGET)
  47. mkdir -p $(BINARIES_DIR)
  48. make MEMORY=$(AT91BOOTSTRAP_MEMORY) \
  49. CROSS_COMPILE=$(TARGET_CROSS) \
  50. DESTDIR=$(BINARIES_DIR) \
  51. -C $(AT91BOOTSTRAP_DIR) install
  52. touch $@
  53. .PHONY: at91bootstrap at91bootstrap-source
  54. at91bootstrap: $(AT91BOOTSTRAP_DIR)/.installed
  55. at91bootstrap-source: $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
  56. at91bootstrap-unpacked: $(AT91BOOTSTRAP_DIR)/.unpacked
  57. .PHONY: at91bootstrap-clean at91bootstrap-dirclean
  58. at91bootstrap-clean:
  59. make -C $(AT91BOOTSTRAP_DIR) clean
  60. at91bootstrap-dirclean:
  61. rm -rf $(AT91BOOTSTRAP_DIR)
  62. #############################################################
  63. #
  64. # Toplevel Makefile options
  65. #
  66. #############################################################
  67. ifeq ($(BR2_TARGET_AT91BOOTSTRAP),y)
  68. TARGETS+=at91bootstrap
  69. # we NEED a board name
  70. ifeq ($(AT91BOOTSTRAP_BOARD),)
  71. $(error No AT91Bootstrap board name set. Check your BR2_TARGET_AT91BOOTSTRAP_BOARD setting)
  72. endif
  73. endif