at91bootstrap.mk 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. PKG_TARGETS := bin
  2. PKG_FLAGS:=nonshared
  3. export GCC_HONOUR_COPTS=s
  4. define Package/at91bootstrap/install/default
  5. $(CP) -avL $(PKG_BUILD_DIR)/binaries/at91bootstrap.bin $(1)/
  6. endef
  7. Package/at91bootstrap/install = $(Package/at91bootstrap/install/default)
  8. define AT91Bootstrap/Init
  9. BUILD_TARGET:=
  10. BUILD_SUBTARGET:=
  11. BUILD_DEVICES:=
  12. NAME:=
  13. DEPENDS:=
  14. HIDDEN:=
  15. DEFAULT:=
  16. VARIANT:=$(1)
  17. AT91BOOTSTRAP_CONFIG:=$(1)
  18. endef
  19. TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET))
  20. AT91BOOTSTRAP_MAKE_FLAGS = \
  21. HOSTCC="$(HOSTCC)" \
  22. HOSTCFLAGS="$(HOST_CFLAGS) $(HOST_CPPFLAGS)" \
  23. HOSTLDFLAGS=""
  24. define Build/AT91Bootstrap/Target
  25. $(eval $(call AT91Bootstrap/Init,$(1)))
  26. $(eval $(call AT91Bootstrap/Default,$(1)))
  27. $(eval $(call AT91Bootstrap/$(1),$(1)))
  28. define Package/at91bootstrap-$(1)
  29. SECTION:=boot
  30. CATEGORY:=Boot Loaders
  31. TITLE:= .$(NAME)
  32. VARIANT:=$(VARIANT)
  33. DEPENDS:=@!IN_SDK $(DEPENDS)
  34. HIDDEN:=$(HIDDEN)
  35. ifneq ($(BUILD_TARGET),)
  36. DEPENDS += @$(TARGET_DEP)
  37. ifneq ($(BUILD_DEVICES),)
  38. DEFAULT := y if ($(TARGET_DEP)_Default \
  39. $(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \
  40. $(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%, \
  41. $(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES)))
  42. endif
  43. endif
  44. $(if $(DEFAULT),DEFAULT:=$(DEFAULT))
  45. URL:=https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap
  46. endef
  47. define Package/at91bootstrap-$(1)/install
  48. $$(Package/at91bootstrap/install)
  49. endef
  50. endef
  51. define Build/Configure/AT91Bootstrap
  52. +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
  53. $(AT91BOOTSTRAP_CONFIG)_defconfig
  54. endef
  55. define Build/Compile/AT91Bootstrap
  56. +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
  57. CROSS_COMPILE=$(TARGET_CROSS) \
  58. $(AT91BOOTSTRAP_MAKE_FLAGS)
  59. endef
  60. define BuildPackage/AT91Bootstrap/Defaults
  61. Build/Configure/Default = $$$$(Build/Configure/AT91Bootstrap)
  62. Build/Compile/Default = $$$$(Build/Compile/AT91Bootstrap)
  63. endef
  64. define BuildPackage/AT91Bootstrap
  65. $(eval $(call BuildPackage/AT91Bootstrap/Defaults))
  66. $(foreach type,$(if $(DUMP),$(AT91BOOTSTRAP_TARGETS),$(BUILD_VARIANT)), \
  67. $(eval $(call Build/AT91Bootstrap/Target,$(type)))
  68. )
  69. $(eval $(call Build/DefaultTargets))
  70. $(foreach type,$(if $(DUMP),$(AT91BOOTSTRAP_TARGETS),$(BUILD_VARIANT)), \
  71. $(call BuildPackage,at91bootstrap-$(type))
  72. )
  73. endef