mxs-bootlets.mk 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. ################################################################################
  2. #
  3. # mxs-bootlets
  4. #
  5. ################################################################################
  6. ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL),y)
  7. MXS_BOOTLETS_TARBALL = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL_URL))
  8. MXS_BOOTLETS_SITE = $(patsubst %/,%,$(dir $(MXS_BOOTLETS_TARBALL)))
  9. MXS_BOOTLETS_SOURCE = $(notdir $(MXS_BOOTLETS_TARBALL))
  10. else ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT),y)
  11. MXS_BOOTLETS_SITE = $(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_URL)
  12. MXS_BOOTLETS_SITE_METHOD = git
  13. MXS_BOOTLETS_VERSION = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_VERSION))
  14. else
  15. MXS_BOOTLETS_VERSION = 10.12.01
  16. MXS_BOOTLETS_SITE = http://download.ossystems.com.br/bsp/freescale/source/
  17. MXS_BOOTLETS_SOURCE = imx-bootlets-src-$(MXS_BOOTLETS_VERSION).tar.gz
  18. endif
  19. ifeq ($(BR2_TARGET_MXS_BOOTLETS_STMP37xx),y)
  20. MXS_BOOTLETS_BOARD = stmp37xx_dev
  21. else ifeq ($(BR2_TARGET_MXS_BOOTLETS_STMP378x),y)
  22. MXS_BOOTLETS_BOARD = stmp378x_dev
  23. else ifeq ($(BR2_TARGET_MXS_BOOTLETS_IMX28EVK),y)
  24. MXS_BOOTLETS_BOARD = iMX28_EVK
  25. else ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD),y)
  26. MXS_BOOTLETS_BOARD = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD_NAME))
  27. endif
  28. ifeq ($(BR2_TARGET_MXS_BOOTLETS_HAS_IVT),y)
  29. MXS_BOOTLETS_IVT_SUFFIX = _ivt
  30. MXS_BOOTLETS_ELFTOSB_OPTIONS += -f imx28
  31. endif
  32. MXS_BOOTLETS_DEPENDENCIES = host-elftosb
  33. ifeq ($(BR2_TARGET_MXS_BOOTLETS_BAREBOX),y)
  34. MXS_BOOTLETS_DEPENDENCIES += barebox
  35. MXS_BOOTLETS_BOOTDESC = barebox$(MXS_BOOTLETS_IVT_SUFFIX).bd
  36. MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_barebox$(MXS_BOOTLETS_IVT_SUFFIX).sb
  37. else ifeq ($(BR2_TARGET_MXS_BOOTLETS_LINUX),y)
  38. MXS_BOOTLETS_DEPENDENCIES += linux
  39. MXS_BOOTLETS_BOOTDESC = linux$(MXS_BOOTLETS_IVT_SUFFIX).bd
  40. MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_linux$(MXS_BOOTLETS_IVT_SUFFIX).sb
  41. else ifeq ($(BR2_TARGET_MXS_BOOTLETS_UBOOT),y)
  42. MXS_BOOTLETS_DEPENDENCIES += uboot
  43. MXS_BOOTLETS_BOOTDESC = uboot$(MXS_BOOTLETS_IVT_SUFFIX).bd
  44. MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_uboot$(MXS_BOOTLETS_IVT_SUFFIX).sb
  45. endif
  46. ifeq ($(BR2_TARGET_MXS_BOOTLETS_BAREBOX),y)
  47. define MXS_BOOTLETS_SED_BAREBOX
  48. sed -i 's,[^ *]barebox.*;,\tbarebox="$(BAREBOX_DIR)/barebox";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
  49. endef
  50. endif
  51. ifeq ($(BR2_TARGET_MXS_BOOTLETS_LINUX),y)
  52. define MXS_BOOTLETS_BUILD_LINUX_PREP
  53. BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \
  54. $(MAKE1) -C $(@D) linux_prep
  55. endef
  56. define MXS_BOOTLETS_SED_LINUX
  57. sed -i 's,[^ *]linux_prep.*;,\tlinux_prep="$(@D)/linux_prep/output-target/linux_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
  58. sed -i 's,[^ *]zImage.*;,\tzImage="$(LINUX_DIR)/arch/arm/boot/zImage";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
  59. endef
  60. endif
  61. ifeq ($(BR2_TARGET_MXS_BOOTLETS_UBOOT),y)
  62. define MXS_BOOTLETS_SED_UBOOT
  63. sed -i 's,[^ *]u_boot.*;,\tu_boot="$(UBOOT_DIR)/u-boot";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
  64. endef
  65. endif
  66. define MXS_BOOTLETS_INSTALL_BAREBOX_BOOTDESC
  67. cp boot/mxs-bootlets/barebox_ivt.bd $(@D)/
  68. endef
  69. MXS_BOOTLETS_POST_EXTRACT_HOOKS += MXS_BOOTLETS_INSTALL_BAREBOX_BOOTDESC
  70. define MXS_BOOTLETS_BUILD_CMDS
  71. BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \
  72. $(MAKE1) -C $(@D) power_prep
  73. BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \
  74. $(MAKE1) -C $(@D) boot_prep
  75. $(MXS_BOOTLETS_BUILD_LINUX_PREP)
  76. sed -i 's,[^ *]power_prep.*;,\tpower_prep="$(@D)/power_prep/power_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
  77. sed -i 's,[^ *]sdram_prep.*;,\tsdram_prep="$(@D)/boot_prep/boot_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
  78. $(MXS_BOOTLETS_SED_BAREBOX)
  79. $(MXS_BOOTLETS_SED_LINUX)
  80. $(MXS_BOOTLETS_SED_UBOOT)
  81. $(HOST_DIR)/usr/bin/elftosb $(MXS_BOOTLETS_ELFTOSB_OPTIONS) \
  82. -z -c $(@D)/$(MXS_BOOTLETS_BOOTDESC) \
  83. -o $(@D)/$(MXS_BOOTLETS_BOOTSTREAM)
  84. endef
  85. define MXS_BOOTLETS_INSTALL_TARGET_CMDS
  86. cp $(@D)/$(MXS_BOOTLETS_BOOTSTREAM) $(BINARIES_DIR)/
  87. endef
  88. $(eval $(generic-package))