Makefile 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #
  2. # Copyright (C) 2017-2020 Yousong Zhou <[email protected]>
  3. #
  4. # Copyright (C) 2021 ImmortalWrt
  5. # <https://immortalwrt.org>
  6. #
  7. # This is free software, licensed under the GNU General Public License v2.
  8. # See /LICENSE for more information.
  9. #
  10. include $(TOPDIR)/rules.mk
  11. PKG_NAME:=shadowsocks-rust
  12. PKG_VERSION:=1.11.1
  13. PKG_RELEASE:=1
  14. PKG_SOURCE_HEADER:=shadowsocks-v$(PKG_VERSION)
  15. PKG_SOURCE_BODY:=unknown-linux-musl
  16. PKG_SOURCE_FOOTER:=tar.xz
  17. PKG_SOURCE_URL:=https://github.com/shell-script/openwrt-shadowsocks-rust/releases/download/v$(PKG_VERSION)/
  18. ifeq ($(ARCH),aarch64)
  19. PKG_SOURCE:=$(PKG_SOURCE_HEADER).aarch64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  20. PKG_HASH:=fc444f1ef77478f8eb192fa481fceaa67c26672cce4a08873c0031a6885acaf1
  21. else ifeq ($(ARCH),arm)
  22. # Referred to golang/golang-values.mk
  23. ARM_CPU_FEATURES:=$(word 2,$(subst +,$(space),$(call qstrip,$(CONFIG_CPU_TYPE))))
  24. ifeq ($(ARM_CPU_FEATURES),)
  25. PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabi.$(PKG_SOURCE_FOOTER)
  26. PKG_HASH:=283afa19deca0e3b94d11f397f42e96896869fe6eb596aab8598c433ceff1a1f
  27. else ifneq ($(filter $(ARM_CPU_FEATURES),vfp vfpv2),)
  28. PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabihf.$(PKG_SOURCE_FOOTER)
  29. PKG_HASH:=f1a7eddadab1154f003f070c8bda50249d155b66118d0f878874de0e317be61d
  30. else
  31. PKG_SOURCE:=$(PKG_SOURCE_HEADER).armv7-$(PKG_SOURCE_BODY)eabihf.$(PKG_SOURCE_FOOTER)
  32. PKG_HASH:=601d222235d9acdb021b9e56d0b1d8c3f42a9f8f2f10e7a4202bd2b7d1ec6ca2
  33. endif
  34. else ifeq ($(ARCH),i386)
  35. ifeq ($(CONFIG_TARGET_x86_geode)$(CONFIG_TARGET_x86_legacy),y)
  36. PKG_SOURCE:=$(PKG_SOURCE_HEADER).i586-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  37. PKG_HASH:=1e287d20ef49da3ac2524419fc17dbe5901a5b685c7828cdc60a98612d5209b0
  38. else
  39. PKG_SOURCE:=$(PKG_SOURCE_HEADER).i686-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  40. PKG_HASH:=4722217879f45f0591bdf758cec68025610d53c50613ed774dda91be166b25bb
  41. endif
  42. else ifeq ($(ARCH),mips)
  43. PKG_SOURCE:=$(PKG_SOURCE_HEADER).mips-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  44. PKG_HASH:=37aee9ba582f7ff4aceb020d02e87e8ba4f3568c4ec55275090270be090f4f28
  45. else ifeq ($(ARCH),mipsel)
  46. PKG_SOURCE:=$(PKG_SOURCE_HEADER).mipsel-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  47. PKG_HASH:=3c80c7307f1e779f305ea6519f6e3f5a6ed60115e172d917f6326839eaeb56f3
  48. else ifeq ($(ARCH),x86_64)
  49. PKG_SOURCE:=$(PKG_SOURCE_HEADER).x86_64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  50. PKG_HASH:=7efa33113a2b1910ef69076961e757f738ac89e1ddf6670499e150d2cdd8a4d2
  51. # Set the default value to make OpenWrt Package Checker happy
  52. else
  53. PKG_SOURCE:=dummy
  54. PKG_HASH:=dummy
  55. endif
  56. PKG_MAINTAINER:=Tianling Shen <[email protected]>
  57. PKG_LICENSE:=MIT
  58. PKG_LICENSE_FILES:=LICENSE
  59. include $(INCLUDE_DIR)/package.mk
  60. TAR_CMD:=$(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
  61. define Package/shadowsocks-rust/Default
  62. define Package/shadowsocks-rust-$(1)
  63. SECTION:=net
  64. CATEGORY:=Network
  65. SUBMENU:=Web Servers/Proxies
  66. TITLE:=shadowsocks-rust $(1)
  67. URL:=https://github.com/shadowsocks/shadowsocks-rust
  68. DEPENDS:=@(aarch64||arm||i386||mips||mipsel||x86_64) @USE_MUSL
  69. endef
  70. define Package/shadowsocks-rust-$(1)/install
  71. $$(INSTALL_DIR) $$(1)/usr/bin
  72. $$(INSTALL_BIN) $$(PKG_BUILD_DIR)/$(1) $$(1)/usr/bin
  73. endef
  74. endef
  75. SHADOWSOCKS_COMPONENTS:=sslocal ssmanager ssserver ssurl
  76. define shadowsocks-rust/templates
  77. $(foreach component,$(SHADOWSOCKS_COMPONENTS),
  78. $(call Package/shadowsocks-rust/Default,$(component))
  79. )
  80. endef
  81. $(eval $(call shadowsocks-rust/templates))
  82. define Build/Compile
  83. endef
  84. $(foreach component,$(SHADOWSOCKS_COMPONENTS), \
  85. $(eval $(call BuildPackage,shadowsocks-rust-$(component))) \
  86. )