2 # Copyright (C) 2016-2017 Dan Luedtke <mail@danrl.com>
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
8 include $(INCLUDE_DIR
)/kernel.mk
14 PKG_LICENSE
:=GPL-2.0
-only
15 PKG_LICENSE_FILES
:=COPYING
18 PKG_SOURCE_URL
:=https
://github.com
/NICMx
/Jool.git
19 PKG_SOURCE_VERSION
:=aed966aa4873af2d84fd445f49cf33f719539c9e
20 PKG_MIRROR_HASH
:=84dcd6884d849f45a3374ab25654b20cef681a3bcf0fb7f7381281f6f14c31a4
22 PKG_BUILD_DIR
=$(KERNEL_BUILD_DIR
)/$(PKG_SOURCE_SUBDIR
)
24 PKG_BUILD_DEPENDS
:=!USE_GLIBC
:argp-standalone
29 CONFIGURE_PATH
:=src
/usr
31 include $(INCLUDE_DIR
)/package.mk
34 $(MAKE
) -C
"$(LINUX_DIR)" \
35 KERNEL_DIR
="$(LINUX_DIR)" \
36 ARCH
="$(LINUX_KARCH)" \
37 CROSS_COMPILE
="$(TARGET_CROSS)" \
38 M
="$(PKG_BUILD_DIR)/src/mod/common" \
40 CFLAGS_MODULE
=$(NOXTABLES
) \
42 $(MAKE
) -C
"$(LINUX_DIR)" \
43 KERNEL_DIR
="$(LINUX_DIR)" \
44 ARCH
="$(LINUX_KARCH)" \
45 CROSS_COMPILE
="$(TARGET_CROSS)" \
46 M
="$(PKG_BUILD_DIR)/src/mod/nat64" \
47 CFLAGS_MODULE
=$(NOXTABLES
) \
50 $(MAKE
) -C
"$(LINUX_DIR)" \
51 KERNEL_DIR
="$(LINUX_DIR)" \
52 ARCH
="$(LINUX_KARCH)" \
53 CROSS_COMPILE
="$(TARGET_CROSS)" \
54 M
="$(PKG_BUILD_DIR)/src/mod/siit" \
55 CFLAGS_MODULE
=$(NOXTABLES
) \
58 $(call Build
/Compile
/Default
)
61 define Build
/Configure
62 (cd
$(PKG_BUILD_DIR
); .
/autogen.sh
);
63 $(call Build
/Configure
/Default
, --with-xtables
=no
)
67 define Package
/jool
/Default
70 URL
:=https
://nicmx.github.io
/Jool
/
73 define Package
/jool
/Default
/description
74 Jool is an Open Source SIIT and NAT64 for Linux.
78 define KernelPackage
/jool-netfilter
80 CATEGORY
:=Kernel modules
81 SUBMENU
:=Network Support
82 TITLE
:=Jool kernel module
89 $(PKG_BUILD_DIR
)/src
/mod
/common
/jool_common.
$(LINUX_KMOD_SUFFIX
) \
90 $(PKG_BUILD_DIR
)/src
/mod
/nat64
/jool.
$(LINUX_KMOD_SUFFIX
) \
91 $(PKG_BUILD_DIR
)/src
/mod
/siit
/jool_siit.
$(LINUX_KMOD_SUFFIX
)
92 AUTOLOAD
:=$(call AutoLoad
,48,$(JOOL_AUTOLOAD
))
95 define KernelPackage
/jool-netfilter
/description
96 $(call Package
/jool
/Default
/description
)
98 This package provides the kernel module for Jool with netfilter API Only.
102 define Package
/jool-tools-netfilter
103 $(call Package
/jool
/Default
)
104 TITLE
:=Jool userspace control programs
105 DEPENDS
:=+libnl
+kmod-jool-netfilter
108 define Package
/jool-tools-netfilter
/description
109 $(call Package
/jool
/Default
/description
)
111 This package provides the userspace control programs for Jool.
118 NOXTABLES
:=-DXTABLES_DISABLED
120 define Package
/jool-tools-netfilter
/conffiles
122 /etc
/jool
/jool-nat64.conf.json
123 /etc
/jool
/jool-siit.conf.json
126 define Package
/jool-tools-netfilter
/install
127 $(INSTALL_DIR
) $(1)/usr
/bin
/
128 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/usr
/nat64
/jool
$(1)/usr
/bin
/
129 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/usr
/joold
/joold
$(1)/usr
/bin
/
130 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/usr
/siit
/jool_siit
$(1)/usr
/bin
/
132 $(INSTALL_DIR
) $(1)/etc
/config
133 $(INSTALL_CONF
) .
/files
/jool.config
$(1)/etc
/config
/jool
135 $(INSTALL_DIR
) $(1)/etc
/init.d
136 $(INSTALL_BIN
) .
/files
/jool.init
$(1)/etc
/init.d
/jool
138 $(INSTALL_DIR
) $(1)/etc
/jool
139 $(INSTALL_CONF
) .
/files
/jool-nat64.conf.json
$(1)/etc
/jool
/jool-nat64.conf.json
140 $(INSTALL_CONF
) .
/files
/jool-siit.conf.json
$(1)/etc
/jool
/jool-siit.conf.json
141 $(INSTALL_DATA
) .
/files
/readme.md
$(1)/etc
/jool
/readme.md
144 $(eval
$(call KernelPackage
,jool-netfilter
))
145 $(eval
$(call BuildPackage
,jool-tools-netfilter
))