2 # Copyright (C) 2008-2014 Christian Pointner,
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
8 # This Makefile builds uAnytun Package for OpenWRT
12 include $(TOPDIR
)/rules.mk
18 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
19 PKG_SOURCE_URL
:=http
://www.anytun.org
/download
/
20 PKG_HASH
:=076318c771c908386c4408dda0769171542da701785302903641ce23fd33a295
21 PKG_MAINTAINER
:=Christian Pointner
<equinox@spreadspace.org
>
22 PKG_LICENSE
:=GPL-3.0
-or-later
23 PKG_LICENSE_FILES
:=LICENSE
24 include $(INCLUDE_DIR
)/package.mk
27 define Package
/uanytun
/template
32 TITLE
:=micro anycast tunneling daemon
33 URL
:=http
://www.anytun.org
/
37 define Package
/uanytun
38 $(call Package
/uanytun
/template
)
44 define Package
/uanytun
/conffiles
48 define Package
/uanytun
/description
49 uAnytun is a tiny implementation of SATP the secure anycast tunneling protocol.
50 SATP defines a protocol used for communication between any combination of
51 unicast and anycast tunnel endpoints. It has less protocol overhead than
52 IPSec in Tunnel mode and allows tunneling of every ETHER TYPE protocol
(e.g.
53 ethernet
, ip
, arp ...
). SATP directly includes cryptography and message
54 authentication based on the methods used by SRTP. It is intended to deliver
55 a generic
, scalable and secure solution for tunneling and relaying of packets
57 Unlike Anytun which is a full featured implementation uAnytun has no support
58 for multiple connections or synchronisation. It is a small single threaded
59 implementation intended to act
as a client on small platforms.
63 define Package
/uanytun-nettle
64 $(call Package
/uanytun
/template
)
70 Package
/uanytun-nettle
/conffiles
=$(Package
/uanytun
/conffiles
)
71 Package
/uanytun-nettle
/description
=$(Package
/uanytun
/description
)
74 define Package
/uanytun-sslcrypt
75 $(call Package
/uanytun
/template
)
81 Package
/uanytun-sslcrypt
/conffiles
=$(Package
/uanytun
/conffiles
)
82 Package
/uanytun-sslcrypt
/description
=$(Package
/uanytun
/description
)
85 define Package
/uanytun-nocrypt
86 $(call Package
/uanytun
/template
)
91 Package
/uanytun-nocrypt
/conffiles
=$(Package
/uanytun
/conffiles
)
92 Package
/uanytun-nocrypt
/description
=$(Package
/uanytun
/description
)
96 define Build
/Configure
97 (cd
$(PKG_BUILD_DIR
)/src
; \
99 ln
-s linux
/tun.c .
; \
100 echo
'#ifndef UANYTUN_version_h_INCLUDED' > version.h
; \
101 echo
'#define UANYTUN_version_h_INCLUDED' >> version.h
; \
102 echo
'' >> version.h
; \
103 echo
'#define VERSION_STRING "uanytun version '`cat $(PKG_BUILD_DIR)/version`'"' >> version.h
; \
104 echo
'' >> version.h
; \
105 echo
'#endif' >> version.h \
110 VARIANT_LDFLAGS
:=-ldl
113 ifeq ($(BUILD_VARIANT
),gcrypt
)
114 VARIANT_CFLAGS
+=-DUSE_GCRYPT
-DCRYPTO_LIB_NAME
=\\\"libgcrypt
\\\"
115 VARIANT_LDFLAGS
+=-lgpg-error
-lgcrypt
118 ifeq ($(BUILD_VARIANT
),nettle
)
119 VARIANT_CFLAGS
+=-DUSE_NETTLE
-DCRYPTO_LIB_NAME
=\\\"Nettle
\\\"
120 VARIANT_LDFLAGS
+=-lnettle
123 ifeq ($(BUILD_VARIANT
),sslcrypt
)
124 VARIANT_CFLAGS
+=-DUSE_SSL_CRYPTO
-DCRYPTO_LIB_NAME
=\\\"OpenSSL
\\\"
125 VARIANT_LDFLAGS
+=-lcrypto
128 ifeq ($(BUILD_VARIANT
),nocrypt
)
129 VARIANT_CFLAGS
+=-DNO_CRYPT
-DCRYPTO_LIB_NAME
=\\\"none
\\\"
130 VARIANT_MAKE_OPTS
+=NO_CRYPT_OBJ
=1
134 $(MAKE
) -C
$(PKG_BUILD_DIR
)/src \
135 $(TARGET_CONFIGURE_OPTS
) \
136 $(VARIANT_MAKE_OPTS
) \
138 CFLAGS
="$(TARGET_CFLAGS) $(VARIANT_CFLAGS) $(TARGET_CPPFLAGS)" \
139 LDFLAGS
="$(TARGET_LDFLAGS) $(VARIANT_LDFLAGS)"
140 $(STRIP
) $(PKG_BUILD_DIR
)/src
/uanytun
144 define Package
/uanytun
/install-generic
145 $(INSTALL_DIR
) $(1)/etc
/config
146 $(INSTALL_DATA
) .
/files
/$(2) $(1)/etc
/config
/$(PKG_NAME
)
147 $(INSTALL_DIR
) $(1)/usr
/sbin
148 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/uanytun
$(1)/usr
/sbin
/$(PKG_NAME
)
149 $(INSTALL_DIR
) $(1)/etc
/init.d
150 $(INSTALL_BIN
) .
/files
/uanytun.init
$(1)/etc
/init.d
/$(PKG_NAME
)
153 define Package
/uanytun
/install
154 $(call Package
/uanytun
/install-generic
,$(1),uanytun.config
)
157 define Package
/uanytun-nettle
/install
158 $(call Package
/uanytun
/install-generic
,$(1),uanytun.config
)
161 define Package
/uanytun-sslcrypt
/install
162 $(call Package
/uanytun
/install-generic
,$(1),uanytun.config
)
165 define Package
/uanytun-nocrypt
/install
166 $(call Package
/uanytun
/install-generic
,$(1),uanytun-nocrypt.config
)
170 $(eval
$(call BuildPackage
,uanytun
))
171 $(eval
$(call BuildPackage
,uanytun-nettle
))
172 $(eval
$(call BuildPackage
,uanytun-sslcrypt
))
173 $(eval
$(call BuildPackage
,uanytun-nocrypt
))