Makefile (2812B)
1 # 2 # Copyright (C) 2016-2017 Dan Luedtke <mail@danrl.com> 3 # 4 # This is free software, licensed under the GNU General Public License v2. 5 # See /LICENSE for more information. 6 7 include $(TOPDIR)/rules.mk 8 9 PKG_NAME:=jool 10 PKG_VERSION:=2017.03.09 11 PKG_RELEASE:=1 12 13 PKG_LICENSE:=GPL-3.0 14 PKG_LICENSE_FILES:=COPYING 15 16 PKG_SOURCE_PROTO:=git 17 PKG_SOURCE_URL:=https://github.com/NICMx/Jool.git 18 PKG_SOURCE_VERSION:=997a81bb5f5e9d82aa122fd37b7c890e44a245dd 19 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION) 20 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.xz 21 22 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR) 23 PKG_BUILD_PARALLEL:=1 24 PKG_BUILD_DEPENDS:=USE_UCLIBC:argp-standalone USE_MUSL:argp-standalone 25 26 PKG_FIXUP:=autoreconf 27 28 include $(INCLUDE_DIR)/kernel.mk 29 include $(INCLUDE_DIR)/package.mk 30 31 MAKE_PATH:=usr 32 CONFIGURE_PATH:=usr 33 34 define Build/Compile 35 $(MAKE) -C "$(LINUX_DIR)" \ 36 KERNEL_DIR="$(LINUX_DIR)" \ 37 ARCH="$(LINUX_KARCH)" \ 38 CROSS_COMPILE="$(TARGET_CROSS)" \ 39 SUBDIRS="$(PKG_BUILD_DIR)/mod/stateful" \ 40 V="$(V)" \ 41 modules 42 $(MAKE) -C "$(LINUX_DIR)" \ 43 KERNEL_DIR="$(LINUX_DIR)" \ 44 ARCH="$(LINUX_KARCH)" \ 45 CROSS_COMPILE="$(TARGET_CROSS)" \ 46 SUBDIRS="$(PKG_BUILD_DIR)/mod/stateless" \ 47 V="$(V)" \ 48 modules 49 $(call Build/Compile/Default) 50 endef 51 52 define Package/jool/Default 53 SECTION:=net 54 CATEGORY:=Network 55 URL:=https://www.jool.mx 56 MAINTAINER:=Dan Luedtke <mail@danrl.com> 57 endef 58 59 define Package/jool/Default/description 60 Jool is an Open Source SIIT and NAT64 for Linux. 61 endef 62 63 define Package/jool 64 $(call Package/jool/Default) 65 TITLE:=Jool meta-package 66 DEPENDS:=+kmod-jool +jool-tools 67 endef 68 69 define Package/jool/description 70 $(call Package/jool/Default/description) 71 endef 72 73 define KernelPackage/jool 74 SECTION:=kernel 75 CATEGORY:=Kernel modules 76 SUBMENU:=Network Support 77 TITLE:=Jool kernel module 78 DEPENDS:= \ 79 @IPV6 \ 80 +kmod-crypto-md5 \ 81 +kmod-nf-conntrack \ 82 +kmod-nf-conntrack6 83 FILES:= \ 84 $(PKG_BUILD_DIR)/mod/stateful/jool.$(LINUX_KMOD_SUFFIX) \ 85 $(PKG_BUILD_DIR)/mod/stateless/jool_siit.$(LINUX_KMOD_SUFFIX) 86 endef 87 88 define KernelPackage/jool/description 89 $(call Package/jool/Default/description) 90 91 This package provides the kernel module for Jool. 92 endef 93 94 define Package/jool-tools 95 $(call Package/jool/Default) 96 TITLE:=Jool userspace control programs 97 DEPENDS:=+libnl +ethtool 98 endef 99 100 define Package/jool-tools/description 101 $(call Package/jool/Default/description) 102 103 This package provides the userspace control programs for Jool. 104 endef 105 106 define Package/jool-tools/install 107 $(INSTALL_DIR) $(1)/usr/sbin/ 108 $(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateful/jool $(1)/usr/sbin/ 109 $(INSTALL_BIN) $(PKG_BUILD_DIR)/usr/stateless/jool_siit $(1)/usr/sbin/ 110 endef 111 112 $(eval $(call BuildPackage,jool)) 113 $(eval $(call KernelPackage,jool)) 114 $(eval $(call BuildPackage,jool-tools))