Makefile 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Copyright (C) 2007-2023 OpenWrt.org
  4. include $(TOPDIR)/rules.mk
  5. PKG_NAME:=ixp4xx-microcode
  6. PKG_VERSION:=2.4
  7. PKG_RELEASE:=1
  8. PKG_SOURCE:=IPL_ixp400NpeLibraryWithCrypto-2_4.zip
  9. PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
  10. PKG_HASH:=1b1170d0657847248589d946048c0aeaa9cd671966fc5bec5933283309485eaa
  11. PKG_FLAGS:=nonshared
  12. include $(INCLUDE_DIR)/package.mk
  13. # Ethernet or WAN support, pick one
  14. define Package/ixp4xx-microcode-ethernet
  15. SECTION:=firmware
  16. CATEGORY:=Firmware
  17. TITLE:=IXP4xx ethernet firmware
  18. DEPENDS:=@TARGET_ixp4xx
  19. endef
  20. define Package/ixp4xx-microcode-wan
  21. SECTION:=firmware
  22. CATEGORY:=Firmware
  23. TITLE:=IXP4xx WAN firmware
  24. DEPENDS:=@TARGET_ixp4xx
  25. endef
  26. define Package/ixp4xx-microcode-ethernet/description
  27. This package contains the microcode needed to use the network engines in
  28. IXP4xx CPUs for ethernet on all three NPEs.
  29. endef
  30. define Package/ixp4xx-microcode-wan/description
  31. This package contains the microcode needed to use the network engines in
  32. IXP4xx CPUs for ethernet on NPE-A and NPE-B and WAN (HSS) on NPE-C.
  33. endef
  34. define Build/Prepare
  35. rm -rf $(PKG_BUILD_DIR)
  36. mkdir -p $(PKG_BUILD_DIR)
  37. unzip -d $(PKG_BUILD_DIR)/ $(DL_DIR)/$(PKG_SOURCE)
  38. mv $(PKG_BUILD_DIR)/ixp400_xscale_sw/src/npeDl/IxNpeMicrocode.c $(PKG_BUILD_DIR)/
  39. rm -rf $(PKG_BUILD_DIR)/ixp400_xscale_sw
  40. $(CP) ./src/* $(PKG_BUILD_DIR)/
  41. endef
  42. define Build/Compile
  43. (cd $(PKG_BUILD_DIR); \
  44. $(HOSTCC) -Wall -I$(STAGING_DIR_HOST)/include IxNpeMicrocode.c -o IxNpeMicrocode; \
  45. ./IxNpeMicrocode -be \
  46. )
  47. endef
  48. define Package/ixp4xx-microcode-ethernet/install
  49. $(INSTALL_DIR) $(1)/lib/firmware
  50. $(INSTALL_DIR) $(1)/usr/share/doc
  51. $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-A $(1)/lib/firmware/
  52. $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-B $(1)/lib/firmware/
  53. $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-C $(1)/lib/firmware/
  54. $(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE.IPL $(1)/usr/share/doc/
  55. endef
  56. define Package/ixp4xx-microcode-wan/install
  57. $(INSTALL_DIR) $(1)/lib/firmware
  58. $(INSTALL_DIR) $(1)/usr/share/doc
  59. $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-A-HSS $(1)/lib/firmware/
  60. $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-B $(1)/lib/firmware/
  61. $(INSTALL_BIN) $(PKG_BUILD_DIR)/NPE-C $(1)/lib/firmware/
  62. $(INSTALL_DATA) $(PKG_BUILD_DIR)/LICENSE.IPL $(1)/usr/share/doc/
  63. endef
  64. $(eval $(call BuildPackage,ixp4xx-microcode-ethernet))
  65. $(eval $(call BuildPackage,ixp4xx-microcode-wan))