trusted-firmware-a.mk 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. PKG_NAME ?= trusted-firmware-a
  2. PKG_CPE_ID ?= cpe:/a:arm:trusted_firmware-a
  3. PKG_LTS ?=
  4. ifneq ($(PKG_LTS),)
  5. PKG_VERSION_PREFIX:=lts-v
  6. PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION_PREFIX)$(PKG_VERSION)
  7. else
  8. PKG_VERSION_PREFIX:=v
  9. PKG_BUILD_DIR = $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
  10. endif
  11. ifndef PKG_SOURCE_PROTO
  12. PKG_SOURCE = trusted-firmware-a-$(PKG_VERSION_PREFIX)$(PKG_VERSION).tar.gz
  13. PKG_SOURCE_URL:=https://codeload.github.com/TrustedFirmware-A/trusted-firmware-a/tar.gz/$(PKG_VERSION_PREFIX)$(PKG_VERSION)?
  14. endif
  15. PKG_TARGETS := bin
  16. PKG_FLAGS:=nonshared
  17. PKG_LICENSE:=BSD-3-Clause
  18. PKG_LICENSE_FILES:=docs/license.rst
  19. PKG_BUILD_PARALLEL:=1
  20. export GCC_HONOUR_COPTS=s
  21. define Package/trusted-firmware-a/install/default
  22. $(CP) $(patsubst %,$(PKG_BUILD_DIR)/build/$(PLAT)/release/%,$(TFA_IMAGE)) $(1)/
  23. endef
  24. Package/trusted-firmware-a/install = $(Package/trusted-firmware-a/install/default)
  25. define Trusted-Firmware-A/Init
  26. BUILD_TARGET:=
  27. BUILD_SUBTARGET:=
  28. BUILD_DEVICES:=
  29. NAME:=
  30. DEPENDS:=
  31. HIDDEN:=
  32. DEFAULT:=
  33. PLAT:=
  34. VARIANT:=$(1)
  35. TFA_IMAGE:=
  36. endef
  37. TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET))
  38. define Build/Trusted-Firmware-A/Target
  39. $(eval $(call Trusted-Firmware-A/Init,$(1)))
  40. $(eval $(call Trusted-Firmware-A/Default,$(1)))
  41. $(eval $(call Trusted-Firmware-A/$(1),$(1)))
  42. define Package/trusted-firmware-a-$(1)
  43. SECTION:=boot
  44. CATEGORY:=Boot Loaders
  45. TITLE:=Trusted-Firmware-A for $(NAME)
  46. VARIANT:=$(VARIANT)
  47. DEPENDS:=@!IN_SDK $(DEPENDS)
  48. HIDDEN:=$(HIDDEN)
  49. ifneq ($(BUILD_TARGET),)
  50. DEPENDS += @$(TARGET_DEP)
  51. ifneq ($(BUILD_DEVICES),)
  52. DEFAULT := y if ($(TARGET_DEP)_Default \
  53. $(patsubst %,|| $(TARGET_DEP)_DEVICE_%,$(BUILD_DEVICES)) \
  54. $(patsubst %,|| $(patsubst TARGET_%,TARGET_DEVICE_%,$(TARGET_DEP))_DEVICE_%,$(BUILD_DEVICES)))
  55. endif
  56. endif
  57. $(if $(DEFAULT),DEFAULT:=$(DEFAULT))
  58. URL:=https://www.trustedfirmware.org/projects/tf-a/
  59. endef
  60. ifndef Package/trusted-firmware-a-$(1)/install
  61. define Package/trusted-firmware-a-$(1)/install
  62. $$(Package/trusted-firmware-a/install)
  63. endef
  64. endif
  65. endef
  66. define Build/Configure/Trusted-Firmware-A
  67. $(INSTALL_DIR) $(STAGING_DIR)/usr/include
  68. endef
  69. DTC=$(wildcard $(LINUX_DIR)/scripts/dtc/dtc)
  70. define Build/Compile/Trusted-Firmware-A
  71. +unset CC; \
  72. $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
  73. CROSS_COMPILE=$(TARGET_CROSS) \
  74. OPENSSL_DIR=$(STAGING_DIR_HOST) \
  75. $(if $(DTC),DTC="$(DTC)") \
  76. PLAT=$(PLAT) \
  77. BUILD_STRING="OpenWrt $(PKG_VERSION_PREFIX)$(PKG_VERSION)-$(PKG_RELEASE) ($(VARIANT))" \
  78. $(TFA_MAKE_FLAGS)
  79. endef
  80. define BuildPackage/Trusted-Firmware-A/Defaults
  81. Build/Configure/Default = $$$$(Build/Configure/Trusted-Firmware-A)
  82. Build/Compile/Default = $$$$(Build/Compile/Trusted-Firmware-A)
  83. endef
  84. define BuildPackage/Trusted-Firmware-A
  85. $(eval $(call BuildPackage/Trusted-Firmware-A/Defaults))
  86. $(foreach type,$(if $(DUMP),$(TFA_TARGETS),$(BUILD_VARIANT)), \
  87. $(eval $(call Build/Trusted-Firmware-A/Target,$(type)))
  88. )
  89. $(eval $(call Build/DefaultTargets))
  90. $(foreach type,$(if $(DUMP),$(TFA_TARGETS),$(BUILD_VARIANT)), \
  91. $(call BuildPackage,trusted-firmware-a-$(type))
  92. )
  93. endef