Makefile 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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.0-alpha.9
  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:=bb5a88f8732f1e804ff8533e50ad5b7e4cc72bb780240886df64c3d709413002
  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:=493577b1193c980b1471231f9e5b3d124700fc7845edfec39660719cc62d2828
  22. else
  23. PKG_SOURCE:=$(PKG_SOURCE_HEADER).arm-$(PKG_SOURCE_BODY)eabihf.$(PKG_SOURCE_FOOTER)
  24. PKG_HASH:=076b8987dcd9ec9e3d5386469d7efc8eefd0dd1c5267d6f5694ec5f191969e47
  25. endif
  26. else ifeq ($(ARCH),i386)
  27. PKG_SOURCE:=$(PKG_SOURCE_HEADER).i686-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  28. PKG_HASH:=72b96c5c0ab4eaad12f14970c3882e311f5f0e75df1bf8c8e9bb8e7825a3bb89
  29. else ifeq ($(ARCH),mips)
  30. PKG_SOURCE:=$(PKG_SOURCE_HEADER).mips-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  31. PKG_HASH:=f3ae1d678a0e5d1566542a3be30c97b8412fb07e569691c7642498333db1b1ec
  32. else ifeq ($(ARCH),mipsel)
  33. PKG_SOURCE:=$(PKG_SOURCE_HEADER).mipsel-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  34. PKG_HASH:=86bb6943a1f4bd3b61c9f43ddd7977065461915e963ee872de9edb57b2517225
  35. else ifeq ($(ARCH),x86_64)
  36. PKG_SOURCE:=$(PKG_SOURCE_HEADER).x86_64-$(PKG_SOURCE_BODY).$(PKG_SOURCE_FOOTER)
  37. PKG_HASH:=b29f9e623bb3d74717159f5d999eed41d7f89317ca3adaed84cef5012e0f4308
  38. # Set the default value to make OpenWrt Package Checker happy
  39. else
  40. PKG_SOURCE:=dummy
  41. PKG_HASH:=dummy
  42. endif
  43. PKG_MAINTAINER:=Tianling Shen <[email protected]>
  44. PKG_LICENSE:=MIT
  45. PKG_LICENSE_FILES:=LICENSE
  46. include $(INCLUDE_DIR)/package.mk
  47. TAR_CMD:=$(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS)
  48. define Package/shadowsocks-rust/Default
  49. define Package/shadowsocks-rust-$(1)
  50. SECTION:=net
  51. CATEGORY:=Network
  52. SUBMENU:=Web Servers/Proxies
  53. TITLE:=shadowsocks-rust $(1)
  54. URL:=https://github.com/shadowsocks/shadowsocks-rust
  55. DEPENDS:=@USE_MUSL @(aarch64||arm||i386||mips||mipsel||x86_64) @!(TARGET_x86_geode||TARGET_x86_legacy)
  56. endef
  57. define Package/shadowsocks-rust-$(1)/install
  58. $$(INSTALL_DIR) $$(1)/usr/bin
  59. $$(INSTALL_BIN) $$(PKG_BUILD_DIR)/$(1) $$(1)/usr/bin
  60. endef
  61. endef
  62. SHADOWSOCKS_COMPONENTS:=sslocal ssmanager ssserver ssurl ssservice
  63. define shadowsocks-rust/templates
  64. $(foreach component,$(SHADOWSOCKS_COMPONENTS),
  65. $(call Package/shadowsocks-rust/Default,$(component))
  66. )
  67. endef
  68. $(eval $(call shadowsocks-rust/templates))
  69. define Build/Compile
  70. endef
  71. $(foreach component,$(SHADOWSOCKS_COMPONENTS), \
  72. $(eval $(call BuildPackage,shadowsocks-rust-$(component))) \
  73. )