2 # Copyright (C) 2017-2020 Yousong Zhou <yszhou4tech@gmail.com>
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
10 # Checklist when bumping versions
12 # - update cipher list by checking src/crypto.c:crypto_init()
13 # - check if default mode has changed from being tcp_only
15 PKG_NAME
:=shadowsocks-libev
19 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
20 PKG_SOURCE_URL
:=https
://github.com
/shadowsocks
/shadowsocks-libev
/releases
/download
/v
$(PKG_VERSION
)
21 PKG_HASH
:=cfc8eded35360f4b67e18dc447b0c00cddb29cc57a3cec48b135e5fb87433488
23 PKG_MAINTAINER
:=Yousong Zhou
<yszhou4tech@gmail.com
>
25 PKG_LICENSE
:=GPL-3.0
-or-later
26 PKG_LICENSE_FILES
:=LICENSE
32 PKG_BUILD_DEPENDS
:=c-ares pcre
34 include $(INCLUDE_DIR
)/package.mk
37 define Package
/shadowsocks-libev-config
40 SUBMENU
:=Web Servers
/Proxies
41 TITLE
:=shadowsocks-libev config scripts
42 URL
:=https
://github.com
/shadowsocks
/shadowsocks-libev
45 define Package
/shadowsocks-libev-config
/conffiles
46 /etc
/config
/shadowsocks-libev
49 define Package
/shadowsocks-libev-config
/install
50 $(INSTALL_DIR
) $(1)/etc
/config
51 $(INSTALL_DATA
) .
/files
/shadowsocks-libev.config
$(1)/etc
/config
/shadowsocks-libev
52 $(INSTALL_DIR
) $(1)/etc
/init.d
53 $(INSTALL_BIN
) .
/files
/shadowsocks-libev.init
$(1)/etc
/init.d
/shadowsocks-libev
57 define Package
/shadowsocks-libev
/Default
58 define Package
/shadowsocks-libev-
$(1)
61 SUBMENU
:=Web Servers
/Proxies
62 TITLE
:=shadowsocks-libev
$(1)
63 URL
:=https
://github.com
/shadowsocks
/shadowsocks-libev
64 DEPENDS
:=+libev
+libmbedtls
+libpthread
+libsodium
+shadowsocks-libev-config
$(DEPENDS_
$(1))
67 define Package
/shadowsocks-libev-
$(1)/install
68 $$(INSTALL_DIR
) $$(1)/usr
/bin
69 $$(INSTALL_BIN
) $$(PKG_INSTALL_DIR
)/usr
/bin
/$(1) $$(1)/usr
/bin
74 DEPENDS_ss-local
= +libpcre
75 DEPENDS_ss-server
= +libcares
+libpcre
77 SHADOWSOCKS_COMPONENTS
:=ss-local ss-redir ss-tunnel ss-server
78 define shadowsocks-libev
/templates
79 $(foreach component
,$(SHADOWSOCKS_COMPONENTS
),
80 $(call Package
/shadowsocks-libev
/Default
,$(component
))
83 $(eval
$(call shadowsocks-libev
/templates
))
86 define Package
/shadowsocks-libev-ss-rules
89 SUBMENU
:=Web Servers
/Proxies
90 TITLE
:=shadowsocks-libev ss-rules
91 URL
:=https
://github.com
/shadowsocks
/shadowsocks-libev
97 +shadowsocks-libev-ss-redir \
98 +shadowsocks-libev-config \
102 define Package
/shadowsocks-libev-ss-rules
/install
103 $(INSTALL_DIR
) $(1)/usr
/share
/ss-rules
104 $(INSTALL_DATA
) .
/files
/ss-rules
/* $(1)/usr
/share
/ss-rules
/
108 $(call Build
/Prepare
/Default
)
109 $(FIND
) $(PKG_BUILD_DIR
) \
118 --disable-documentation \
119 --disable-silent-rules \
123 TARGET_CFLAGS
+= -flto
124 TARGET_LDFLAGS
+= -Wl
,--gc-sections
,--as-needed
126 $(eval
$(call BuildPackage
,shadowsocks-libev-config
))
127 $(eval
$(call BuildPackage
,shadowsocks-libev-ss-rules
))
128 $(foreach component
,$(SHADOWSOCKS_COMPONENTS
), \
129 $(eval
$(call BuildPackage
,shadowsocks-libev-
$(component
))) \