lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

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))