aboutsummaryrefslogtreecommitdiff
path: root/net/jool/Makefile
diff options
context:
space:
mode:
authordanrl <mail@danrl.com>2016-12-01 20:32:04 +0100
committerdanrl <mail@danrl.com>2016-12-14 19:36:08 +0100
commit95a9364f05d72c8f3221f5b446a28e73491e3cab (patch)
tree6948a843b3f2c3ea85a00f4e99d2250d8bba03a1 /net/jool/Makefile
parentc64a84937ee71136be6ae91d5553ad5a2a2d6099 (diff)
jool: added support for Jool SIIT/NAT64
This adds support for the Jool SIIT/NAT64 translating kernel modules and user space tools. Signed-off-by: Dan Luedtke <mail@danrl.com>
Diffstat (limited to 'net/jool/Makefile')
-rw-r--r--net/jool/Makefile114
1 files changed, 114 insertions, 0 deletions
diff --git a/net/jool/Makefile b/net/jool/Makefile
new file mode 100644
index 000000000..2408394d9
--- /dev/null
+++ b/net/jool/Makefile
@@ -0,0 +1,114 @@
+#
+# Copyright (C) 2016 Dan Luedtke <mail@danrl.com>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=jool
+PKG_VERSION:=3.5.2
+PKG_RELEASE:=1
+
+PKG_LICENSE:=GPL-3.0
+PKG_LICENSE_FILES:=COPYING
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/NICMx/Jool.git
+PKG_SOURCE_VERSION:=ec32f7181d6b12eadcafbe39b8bf4d7d48230232
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.xz
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
+PKG_BUILD_PARALLEL:=1
+PKG_BUILD_DEPENDS:=USE_UCLIBC:argp-standalone USE_MUSL:argp-standalone
+
+PKG_FIXUP:=autoreconf
+
+include $(INCLUDE_DIR)/kernel.mk
+include $(INCLUDE_DIR)/package.mk
+
+MAKE_PATH:=usr
+CONFIGURE_PATH:=usr
+
+define Build/Compile
+ $(MAKE) -C "$(LINUX_DIR)" \
+ KERNEL_DIR="$(LINUX_DIR)" \
+ ARCH="$(LINUX_KARCH)" \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ SUBDIRS="$(PKG_BUILD_DIR)/mod/stateful" \
+ V="$(V)" \
+ modules
+ $(MAKE) -C "$(LINUX_DIR)" \
+ KERNEL_DIR="$(LINUX_DIR)" \
+ ARCH="$(LINUX_KARCH)" \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ SUBDIRS="$(PKG_BUILD_DIR)/mod/stateless" \
+ V="$(V)" \
+ modules
+ $(call Build/Compile/Default)
+endef
+
+define Package/jool/Default
+ SECTION:=net
+ CATEGORY:=Network
+ URL:=https://www.jool.mx
+ MAINTAINER:=Dan Luedtke <mail@danrl.com>
+endef
+
+define Package/jool/Default/description
+ Jool is an Open Source SIIT and NAT64 for Linux.
+endef
+
+define Package/jool
+ $(call Package/jool/Default)
+ TITLE:=Jool meta-package
+ DEPENDS:=+kmod-jool +jool-tools
+endef
+
+define Package/jool/description
+ $(call Package/jool/Default/description)
+endef
+
+define KernelPackage/jool
+ SECTION:=kernel
+ CATEGORY:=Kernel modules
+ SUBMENU:=Network Support
+ TITLE:=Jool kernel module
+ DEPENDS:= \
+ @IPV6 \
+ +kmod-crypto-md5 \
+ +kmod-nf-conntrack \
+ +kmod-nf-conntrack6
+ FILES:= \
+ $(PKG_BUILD_DIR)/mod/stateful/jool.$(LINUX_KMOD_SUFFIX) \
+ $(PKG_BUILD_DIR)/mod/stateless/jool_siit.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/jool/description
+ $(call Package/jool/Default/description)
+
+ This package provides the kernel module for Jool.
+endef
+
+define Package/jool-tools
+ $(call Package/jool/Default)
+ TITLE:=Jool userspace control programs
+ DEPENDS:=+libnl +ethtool
+endef
+
+define Package/jool-tools/description
+ $(call Package/jool/Default/description)
+
+ This package provides the userspace control programs for Jool.
+endef
+
+define Package/jool-tools/install
+ $(INSTALL_DIR) $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateful/jool $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateless/jool_siit $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,jool))
+$(eval $(call KernelPackage,jool))
+$(eval $(call BuildPackage,jool-tools))