Makefile 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Copyright (C) 2017-2020 Yousong Zhou <[email protected]>
  4. # Copyright (C) 2021 ImmortalWrt.org
  5. include $(TOPDIR)/rules.mk
  6. PKG_NAME:=shadowsocks-rust
  7. PKG_VERSION:=1.15.1
  8. PKG_RELEASE:=1
  9. PKG_SOURCE_HEADER:=shadowsocks-v$(PKG_VERSION)
  10. PKG_SOURCE_BODY:=unknown-linux-musl
  11. PKG_SOURCE_FOOTER:=tar.xz
  12. PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-rust/releases/download/v$(PKG_VERSION)/
  13. ifeq ($(ARCH),aarch64)
  14. PKG_SOURCE:=$(PKG_SOURCE_HEADER).aarch64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  15. PKG_HASH:=04e3bf9a4090dce2b51c0f3a6042cf77cea64624746cee6adc194ed66177ea19
  16. else ifeq ($(ARCH),arm)
  17. # Referred to golang/golang-values.mk
  18. ARM_CPU_FEATURES:=$(word 2,$(subst +,$(space),$(call qstrip,$(CONFIG_CPU_TYPE))))
  19. ifeq ($(ARM_CPU_FEATURES),)
  20. PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabi.$(PKG_SOURCE_FOOTER)
  21. PKG_HASH:=2924c1a7154b386b2806961dd954f104e44202de60d9b99f425138540a37db94
  22. else
  23. PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabihf.$(PKG_SOURCE_FOOTER)
  24. PKG_HASH:=7cb067d212736908eec4cf2b5dfc39dbf7361f30e69337992e5db54b236df566
  25. PKG_SOURCE:=$(PKG_SOURCE_HEADER).armv7-$(PKG_SOURCE_BODY)eabihf.$(PKG_SOURCE_FOOTER)
  26. PKG_HASH:=866c7a1a4c899f3808ce6603b9aede1b84f5bcd15e5e78caf95acc70d27690fd
  27. endif
  28. else ifeq ($(ARCH),i386)
  29. PKG_SOURCE:=$(PKG_SOURCE_HEADER).i686-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  30. PKG_HASH:=a6a3b3c33a8f4e8b4613df6f0c366bb6bf6cf4452de4dc838d100a7f3780f2aa
  31. else ifeq ($(ARCH),mips)
  32. PKG_SOURCE:=$(PKG_SOURCE_HEADER).mips-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  33. PKG_HASH:=614788238d2a969490bbf4603fda16a9995434f1b6345916dbbc819fa75bfcec
  34. else ifeq ($(ARCH),mipsel)
  35. PKG_SOURCE:=$(PKG_SOURCE_HEADER).mipsel-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  36. PKG_HASH:=bf5a56319854f6c09744b32022147b65f5ee425995e16d963efaaa3d01823f97
  37. else ifeq ($(ARCH),x86_64)
  38. PKG_SOURCE:=$(PKG_SOURCE_HEADER).x86_64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  39. PKG_HASH:=c039cb9b2473456fac51d4aa55d52195f26739bbffc5c0bd4ac8148d1dc37594
  40. # Set the default value to make OpenWrt Package Checker happy
  41. else
  42. PKG_SOURCE:=dummy
  43. PKG_HASH:=dummy
  44. endif
  45. PKG_MAINTAINER:=Tianling Shen <[email protected]>
  46. PKG_LICENSE:=MIT
  47. PKG_LICENSE_FILES:=LICENSE
  48. include $(INCLUDE_DIR)/package.mk
  49. TAR_CMD:=$(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
  50. define Package/shadowsocks-rust/Default
  51. define Package/shadowsocks-rust-$(1)
  52. SECTION:=net
  53. CATEGORY:=Network
  54. SUBMENU:=Web Servers/Proxies
  55. TITLE:=shadowsocks-rust $(1)
  56. URL:=https://github.com/shadowsocks/shadowsocks-rust
  57. DEPENDS:=@USE_MUSL @(aarch64||arm||i386||mips||mipsel||x86_64) @!(TARGET_x86_geode||TARGET_x86_legacy)
  58. endef
  59. define Package/shadowsocks-rust-$(1)/install
  60. $$(INSTALL_DIR) $$(1)/usr/bin
  61. $$(INSTALL_BIN) $$(PKG_BUILD_DIR)/$(1) $$(1)/usr/bin
  62. endef
  63. endef
  64. SHADOWSOCKS_COMPONENTS:=sslocal ssmanager ssserver ssurl ssservice
  65. define shadowsocks-rust/templates
  66. $(foreach component,$(SHADOWSOCKS_COMPONENTS),
  67. $(call Package/shadowsocks-rust/Default,$(component))
  68. )
  69. endef
  70. $(eval $(call shadowsocks-rust/templates))
  71. define Build/Compile
  72. endef
  73. $(foreach component,$(SHADOWSOCKS_COMPONENTS), \
  74. $(eval $(call BuildPackage,shadowsocks-rust-$(component))) \
  75. )