2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
6 include $(TOPDIR
)/rules.mk
15 PKG_SOURCE_URL
:=https
://github.com
/zerotier
/ZeroTierOne
16 PKG_SOURCE_SUBDIR
:=ZeroTierOne-
$(PKG_VERSION
)
17 PKG_SOURCE_VERSION
:=ae491c277e6f35d1acbdcbf700e2b834957295ae
18 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
19 PKG_MIRROR_MD5SUM
:=c8c3219c995a59161832d580a194f6280de7a4eef75cebece6f38400b64f003e
20 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_SOURCE_SUBDIR
)
22 PKG_BUILD_DEPENDS
:=uclibcxx
24 include $(INCLUDE_DIR
)/package.mk
26 define Package
/zerotier
29 DEPENDS
:=+libpthread
+kmod-tun
+ip
+ZEROTIER_ENABLE_NETWORK_CONTROLLER
:libsqlite3
+ZEROTIER_USE_MINIUPNPC
:libminiupnpc
+ZEROTIER_USE_MINIUPNPC
:libnatpmp
30 TITLE
:=Create flat virtual Ethernet networks of almost unlimited size
31 URL
:=https
://www.zerotier.com
33 MAINTAINER
:=Moritz Warning
<moritzwarning@web.de
>
36 define Package
/zerotier
/description
37 ZeroTier creates a global provider-independent virtual private cloud network.
40 define Package
/zerotier
/config
41 source
"$(SOURCE)/Config.in"
44 ifeq ($(CONFIG_ZEROTIER_ENABLE_NETWORK_CONTROLLER
),y
)
45 MAKE_FLAGS
+= ZT_ENABLE_NETWORK_CONTROLLER
=1
46 MAKE_FLAGS
+= LDLIBS
+=" -lsqlite3 "
49 ifeq ($(CONFIG_ZEROTIER_USE_MINIUPNPC
),y
)
50 MAKE_FLAGS
+= ZT_USE_MINIUPNPC
=1
53 ifeq ($(CONFIG_ZEROTIER_ENABLE_DEBUG
),y
)
54 TARGET_CXXFLAGS
+= -DZT_TRACE
-ggdb3
59 LDFLAGS
+=" -L$(STAGING_DIR)/usr/lib/uClibc++ -pthread " \
60 LDLIBS
+=" -fno-builtin -nodefaultlibs -Wl,-Bstatic -luClibc++ -Wl,-Bdynamic -lpthread -lm -lc -lsupc++ -lc -lgcc -lgcc_eh -lgcc_s -lssp_nonshared " \
61 CXXFLAGS
+=" -fno-builtin -nostdinc++ -I$(STAGING_DIR)/usr/include/uClibc++ -DGCC_HASCLASSVISIBILITY -Wall -fPIE -fvisibility=hidden "
64 $(call Build
/Compile
/Default
,one
)
65 ifeq ($(CONFIG_ZEROTIER_ENABLE_SELFTEST
),y
)
66 $(call Build
/Compile
/Default
,selftest
)
70 define Package
/zerotier
/install
71 $(INSTALL_DIR
) $(1)/usr
/bin
72 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/zerotier-one
$(1)/usr
/bin
/
73 $(LN
) zerotier-one
$(1)/usr
/bin
/zerotier-cli
74 $(LN
) zerotier-one
$(1)/usr
/bin
//zerotier-idtool
76 ifeq ($(CONFIG_ZEROTIER_ENABLE_SELFTEST
),y
)
77 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/zerotier-selftest
$(1)/usr
/bin
/
80 $(INSTALL_DIR
) $(1)/etc
/init.d
/
81 $(INSTALL_BIN
) files
/zerotier.init
$(1)/etc
/init.d
/zerotier
82 $(INSTALL_DIR
) $(1)/etc
/config
83 $(INSTALL_CONF
) files
/zerotier.config
$(1)/etc
/config
/zerotier
86 $(eval
$(call BuildPackage
,zerotier
))