at91bootstrap.mk 2.2 KB

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