sbwml 16d11fd762 natflow: fix build with clang
Signed-off-by: sbwml <admin@cooluc.com>
2024-09-03 11:26:25 +08:00

83 lines
2.2 KiB
Makefile

#
# Copyright (C) 2017-2019 Chen Minqiang <ptpt52@gmail.com>
#
# 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:=natflow
PKG_VERSION:=20240812
PKG_SOURCE_URL:=https://codeload.github.com/ptpt52/natflow/tar.gz/$(PKG_VERSION)?
PKG_HASH:=6481e58eb4c22c36d9ed93f01519b0fff84c29ce088dc960639e65d1d58ccfc0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_MAINTAINER:=Chen Minqiang <ptpt52@gmail.com>
PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk
define KernelPackage/natflow
CATEGORY:=X
SUBMENU:=Fast Forward Stacks
TITLE:=natflow kernel driver
KCONFIG:= \
CONFIG_NF_CONNTRACK_MARK=y \
CONFIG_NETFILTER_INGRESS=y
FILES:=$(PKG_BUILD_DIR)/natflow.ko
AUTOLOAD:=$(call AutoLoad,96,natflow)
DEPENDS:= +kmod-ipt-conntrack +kmod-ipt-nat +kmod-ipt-ipset +kmod-br-netfilter
endef
define KernelPackage/natflow/description
fast nat forward kmod
endef
include $(INCLUDE_DIR)/kernel-defaults.mk
ifeq (,$(findstring clang,$(KERNEL_CC)))
EXTRA_CFLAGS += -Wno-stringop-overread
endif
EXTRA_CFLAGS += -DCONFIG_NATFLOW_PATH -DCONFIG_NATFLOW_URLLOGGER -DNATFLOW_VERSION=\\\"$(PKG_VERSION)-$(shell echo $(PKG_HASH) | head -c7)\\\"
ifneq ($(CONFIG_TARGET_mediatek_mt7622),)
EXTRA_CFLAGS += -DCONFIG_HWNAT_EXTDEV_USE_VLAN_HASH
endif
define Build/Compile/natflow
+$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
$(KERNEL_MAKE_FLAGS) \
ARCH="$(LINUX_KARCH)" \
CROSS_COMPILE="$(KERNEL_CROSS)" \
M="$(PKG_BUILD_DIR)" \
$(if $(CONFIG_KERNEL_DEBUG_INFO),,NO_DEBUG=1) \
modules
endef
define Build/Compile
$(call Build/Compile/natflow)
endef
define Package/natflow
SECTION:=net
CATEGORY:=Network
TITLE:=Natflow init script
DEPENDS:=+ethtool +kmod-natflow
endef
define Package/natflow/install
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) ./files/70-luci-firewall-natflow $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/natflow.init $(1)/etc/init.d/natflow
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
$(INSTALL_DATA) ./files/21-natflow.hotplug $(1)/etc/hotplug.d/iface/21-natflow
endef
$(eval $(call KernelPackage,natflow))
$(eval $(call BuildPackage,natflow))