summaryrefslogtreecommitdiff
path: root/openwrt/kamikaze/uanytun/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/kamikaze/uanytun/Makefile')
-rw-r--r--openwrt/kamikaze/uanytun/Makefile100
1 files changed, 94 insertions, 6 deletions
diff --git a/openwrt/kamikaze/uanytun/Makefile b/openwrt/kamikaze/uanytun/Makefile
index 809ed89..045e759 100644
--- a/openwrt/kamikaze/uanytun/Makefile
+++ b/openwrt/kamikaze/uanytun/Makefile
@@ -24,16 +24,65 @@ PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
include $(INCLUDE_DIR)/package.mk
-define Package/uanytun
+define Package/uanytun/template
SECTION:=net
CATEGORY:=Network
- DEPENDS:=+kmod-tun +libopenssl
TITLE:=micro anycast tunneling daemon
URL:=http://www.anytun.org/
MAINTAINER:=Christian Pointner <equinox@anytun.org>
SUBMENU:=VPN
endef
+define Package/uanytun/desc-template
+uAnytun is a tiny implementation of SATP. Unlike Anytun which is a full
+ featured implementation uAnytun has no support for multiple connections
+ or synchronisation. It is a small single threaded implementation intended
+ to act as a client on small platforms.
+endef
+
+define Package/uanytun
+ $(call Package/uanytun/template)
+ DEPENDS:=+kmod-tun +libgcrypt
+endef
+
+define Package/uanytun/conffiles
+/etc/config/uanytun
+endef
+
+define Package/uanytun/description
+ $(call Package/uanytun/desc-template)
+endef
+
+
+define Package/uanytun-sslcrypt
+ $(call Package/uanytun/template)
+ DEPENDS:=+kmod-tun +libopenssl
+endef
+
+define Package/uanytun-sslcrypt/conffiles
+/etc/config/uanytun-sslcrypt
+endef
+
+define Package/uanytun-sslcrypt/description
+ $(call Package/uanytun/desc-template)
+endef
+
+
+define Package/uanytun-nocrypt
+ $(call Package/uanytun/template)
+ DEPENDS:=+kmod-tun
+endef
+
+define Package/uanytun-nocrypt/conffiles
+/etc/config/uanytun-nocrypt
+endef
+
+define Package/uanytun-nocrypt/description
+ $(call Package/uanytun/desc-template)
+endef
+
+
+
define Build/Configure
(cd $(PKG_BUILD_DIR)/src; \
touch include.mk; \
@@ -44,22 +93,61 @@ endef
define Build/Compile
rm -rf $(PKG_INSTALL_DIR)
mkdir -p $(PKG_INSTALL_DIR)
+
+ $(MAKE) -C $(PKG_BUILD_DIR)/src \
+ $(TARGET_CONFIGURE_OPTS) \
+ NO_CRYPT_OBJ=1 \
+ TARGET=Linux \
+ CFLAGS="$(TARGET_CFLAGS) -DNO_CRYPT" \
+ LDFLAGS="$(TARGET_LDFLAGS) -ldl"
+ cp $(PKG_BUILD_DIR)/src/uanytun $(PKG_BUILD_DIR)/src/uanytun-nocrypt
+ $(MAKE) -C $(PKG_BUILD_DIR)/src clean
+
$(MAKE) -C $(PKG_BUILD_DIR)/src \
$(TARGET_CONFIGURE_OPTS) \
TARGET=Linux \
CFLAGS="$(TARGET_CFLAGS) -DUSE_SSL_CRYPTO -I$(STAGING_DIR)/usr/include" \
LDFLAGS="$(TARGET_LDFLAGS) -ldl -lcrypto"
+ cp $(PKG_BUILD_DIR)/src/uanytun $(PKG_BUILD_DIR)/src/uanytun-sslcrypt
+ $(MAKE) -C $(PKG_BUILD_DIR)/src clean
+
+ $(MAKE) -C $(PKG_BUILD_DIR)/src \
+ $(TARGET_CONFIGURE_OPTS) \
+ TARGET=Linux \
+ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="$(TARGET_LDFLAGS) -ldl -lgcrypt -lgpgerror"
+
+ $(STRIP) $(PKG_BUILD_DIR)/src/uanytun-nocrypt
+ $(STRIP) $(PKG_BUILD_DIR)/src/uanytun-sslcrypt
$(STRIP) $(PKG_BUILD_DIR)/src/uanytun
endef
-define Package/uanytun/install
+
+
+define Package/uanytun/install-generic
$(INSTALL_DIR) $(1)/etc/config
- $(INSTALL_DATA) ./files/uanytun.config $(1)/etc/config/uanytun
+ $(INSTALL_DATA) ./files/$(3) $(1)/etc/config/$(2)
$(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/uanytun $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/$(2) $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./files/uanytun.init $(1)/etc/init.d/uanytun
+ $(INSTALL_BIN) ./files/uanytun.init $(1)/etc/init.d/$(2)
+ sed -e 's/BIN=uanytun/BIN=$(2)/' -i $(1)/etc/init.d/$(2)
+endef
+
+define Package/uanytun/install
+ $(call Package/uanytun/install-generic, $(1), uanytun, uanytun.config)
+endef
+
+define Package/uanytun-sslcrypt/install
+ $(call Package/uanytun/install-generic, $(1), uanytun-sslcrypt, uanytun.config)
+endef
+define Package/uanytun-nocrypt/install
+ $(call Package/uanytun/install-generic, $(1), uanytun-nocrypt, uanytun-nocrypt.config)
endef
+
+
$(eval $(call BuildPackage,uanytun))
+$(eval $(call BuildPackage,uanytun-sslcrypt))
+$(eval $(call BuildPackage,uanytun-nocrypt))