e9c1426a14600c48614b0d24e44b4ff3976c0961
[feed/packages.git] / net / zerotier / Makefile
1 #
2 # This is free software, licensed under the GNU General Public License v2.
3 # See /LICENSE for more information.
4 #
5
6 include $(TOPDIR)/rules.mk
7
8 PKG_NAME:=zerotier
9 PKG_VERSION:=1.12.2
10 PKG_RELEASE:=2
11
12 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
13 PKG_SOURCE_URL:=https://codeload.github.com/zerotier/ZeroTierOne/tar.gz/$(PKG_VERSION)?
14 PKG_HASH:=7c6512cfc208374ea9dc9931110e35f71800c34890e0f35991ea485aae66e31c
15 PKG_BUILD_DIR:=$(BUILD_DIR)/ZeroTierOne-$(PKG_VERSION)
16
17 PKG_MAINTAINER:=Moritz Warning <moritzwarning@web.de>
18 PKG_LICENSE:=BSL 1.1
19 PKG_LICENSE_FILES:=LICENSE.txt
20
21 PKG_ASLR_PIE:=0
22 PKG_BUILD_PARALLEL:=1
23 PKG_BUILD_FLAGS:=gc-sections
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define Package/zerotier
28 SECTION:=net
29 CATEGORY:=Network
30 DEPENDS:=+libpthread +libstdcpp +kmod-tun +ip +libminiupnpc +libnatpmp +libatomic
31 TITLE:=Create flat virtual Ethernet networks of almost unlimited size
32 URL:=https://www.zerotier.com
33 SUBMENU:=VPN
34 endef
35
36 define Package/zerotier/description
37 ZeroTier creates a global provider-independent virtual private cloud network.
38 endef
39
40 define Package/zerotier/config
41 source "$(SOURCE)/Config.in"
42 endef
43
44 ifeq ($(CONFIG_ZEROTIER_ENABLE_DEBUG),y)
45 MAKE_FLAGS += ZT_DEBUG=1
46 endif
47
48 MAKE_FLAGS += \
49 ZT_EMBEDDED=1 \
50 ZT_SSO_SUPPORTED=0 \
51 DEFS="" \
52 OSTYPE="Linux" \
53
54 define Build/Compile
55 $(call Build/Compile/Default,one)
56 ifeq ($(CONFIG_ZEROTIER_ENABLE_SELFTEST),y)
57 $(call Build/Compile/Default,selftest)
58 endif
59 endef
60
61 # Make binary smaller
62 TARGET_CFLAGS += -Wl,-z,noexecstack
63 TARGET_LDFLAGS += -Wl,--as-needed -Wl,-z,noexecstack
64
65 define Package/zerotier/conffiles
66 /etc/config/zerotier
67 endef
68
69 define Package/zerotier/install
70 $(INSTALL_DIR) $(1)/usr/bin
71 $(INSTALL_BIN) $(PKG_BUILD_DIR)/zerotier-one $(1)/usr/bin/
72 $(LN) zerotier-one $(1)/usr/bin/zerotier-cli
73 $(LN) zerotier-one $(1)/usr/bin/zerotier-idtool
74
75 ifeq ($(CONFIG_ZEROTIER_ENABLE_SELFTEST),y)
76 $(INSTALL_BIN) $(PKG_BUILD_DIR)/zerotier-selftest $(1)/usr/bin/
77 endif
78
79 $(CP) ./files/* $(1)/
80 endef
81
82 $(eval $(call BuildPackage,zerotier))