packages/libs/libpfring/Makefile
Rosen Penev decf99dc64
libpfring: Merge pfring and libpfring in the same package
They use the same source. It makes no sense to have them separate.

Also cleaned up the Makefile to modern standards.

Fixed license information.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-09 19:51:18 -08:00

90 lines
2.5 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:=7.4.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ntop/PF_RING/tar.gz/$(PKG_VERSION)?
PKG_HASH:=e1c9cb44d8072854220f493c56fa5cba99a6b8336883939dc18b3e30c2954b68
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/PF_RING-$(PKG_VERSION)
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)" \
SUBDIRS="$(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))