openwrt-packages/libs/libpfring/Makefile

91 lines
2.4 KiB
Makefile

#
# Copyright (C) 2017 Banglang Huang
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=libpfring
PKG_VERSION:=8.6.1
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_SOURCE_URL:=https://github.com/ntop/PF_RING
PKG_MIRROR_HASH:=2c4623e4a3cd601a94cfdaf748e0cd7aa93e8ec850d3cd4c2ec5d33419e45fbb
PKG_MAINTAINER:=Banglang Huang <banglang.huang@foxmail.com>
PKG_FIXUP:=patch-libtool
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
CONFIGURE_PATH:=userland
MAKE_PATH:=userland/lib
define Package/libpfring
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Library for PR_RING (package process framework)
URL:=https://github.com/ntop/pf_ring
DEPENDS:=+kmod-pf-ring +libpcap +libpthread
LICENSE:=LGPL-2.1-or-later
LICENSE_FILES:=LICENSE
endef
define Package/libpfring/description
PF_RING is a high speed packet capture library that turns a commodity PC into an efficient and cheap
network measurement box suitable for both packet and active traffic analysis and manipulation.
Moreover, PF_RING opens totally new markets as it enables the creation of efficient application such as
traffic balancers or packet filters in a matter of lines of codes.
endef
define KernelPackage/pf-ring
SUBMENU:=Network Support
TITLE:=PF_RING Kernel driver
FILES:=$(PKG_BUILD_DIR)/kernel/pf_ring.ko
AUTOLOAD:=$(call AutoLoad,90,pf_ring,1)
LICENSE:=GPL-2.0-or-later
endef
define KernelPackage/pf-ring/description
Kernel module for libpf-ring package
endef
CONFIGURE_VARS += \
MACHINE="$(ARCH)" \
ac_cv_lib_nl_3_nl_socket_alloc=no
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
KERNEL_DIR="$(LINUX_DIR)" \
ARCH="$(LINUX_KARCH)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
M="$(PKG_BUILD_DIR)/kernel" \
EXTRA_CFLAGS="$(EXTRA_CFLAGS) -I$(PKG_BUILD_DIR)/kernel" \
modules
$(call Build/Compile/Default)
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpfring.so* $(1)/usr/lib/
endef
define Package/libpfring/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpfring.so* $(1)/usr/lib/
$(LN) libpfring.so $(1)/usr/lib/libpfring.so.1
endef
$(eval $(call BuildPackage,libpfring))
$(eval $(call KernelPackage,pf-ring))