[backfire] cleanup: remove refs to unsupported "pxcab" target
[openwrt-10.03/.git] / package / ipset / Makefile
index bcc80840a35a223d4583cf0105175f99296f0888..e7870c558529e78f784a0f093dade3949d33e8f0 100644 (file)
@@ -1,44 +1,84 @@
 # 
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2009 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 #
 include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ipset
-PKG_VERSION:=2.2.9a
-PKG_RELEASE:=2
+PKG_VERSION:=4.1
+PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-20061009.tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://ipset.netfilter.org
-PKG_MD5SUM:=74ce3226b30cdd386630250bdc3488ef
+PKG_MD5SUM:=d104007fdf5ea64fef774c22b1c0a97b
 
 include $(INCLUDE_DIR)/package.mk
 
+define Package/ipset/Default
+  DEPENDS:= @LINUX_2_6
+endef
+
 define Package/ipset
+$(call Package/ipset/Default)
   SECTION:=net
   CATEGORY:=Network
-  TITLE:=Netfilter ip sets administration utility
+  DEPENDS+= +iptables-mod-ipset +kmod-ipt-ipset
+  TITLE:=IPset administration utility
   URL:=http://ipset.netfilter.org/
 endef
 
+include $(INCLUDE_DIR)/kernel-defaults.mk
+
+IPSET_MAKEOPTS:= -C $(PKG_BUILD_DIR) \
+       $(TARGET_CONFIGURE_OPTS) \
+       COPT_FLAGS="$(TARGET_CFLAGS)" \
+       LDFLAGS="-rdynamic -static-libgcc" \
+       NO_EXTRA_WARN_FLAGS=yes \
+       KERNEL_DIR="$(LINUX_DIR)" \
+       PREFIX=/usr \
+
+IPSET_MODULES:= \
+       ip_set \
+       ip_set_iphash \
+       ip_set_ipmap \
+       ip_set_ipporthash \
+       ip_set_ipportiphash \
+       ip_set_ipportnethash \
+       ip_set_iptree \
+       ip_set_iptreemap \
+       ip_set_macipmap \
+       ip_set_nethash \
+       ip_set_portmap \
+       ip_set_setlist \
+       ipt_set \
+       ipt_SET \
+
 define Build/Compile
-       $(call Build/Compile/Default, \
-               COPT_FLAGS="$(TARGET_CFLAGS)" \
-               KERNEL_DIR="$(LINUX_DIR)" \
-               PREFIX="/usr" \
-       )
+       mkdir -p $(PKG_INSTALL_DIR)
+       $(MAKE) $(IPSET_MAKEOPTS) binaries
+       $(MAKE) $(KERNEL_MAKEOPTS) M="$(PKG_BUILD_DIR)/kernel" IP_NF_SET_MAX="256" IP_NF_SET_HASHSIZE="1024" modules
+       $(MAKE) $(IPSET_MAKEOPTS) DESTDIR="$(PKG_INSTALL_DIR)" binaries_install
 endef
 
 define Package/ipset/install
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-               DESTDIR="$(1)" \
-               PREFIX="/usr" \
-               install
-       rm -rf $(1)/usr/man
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ipset $(1)/usr/sbin/
+       $(INSTALL_DIR) $(1)/usr/lib/ipset
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/ipset/libipset*.so $(1)/usr/lib/ipset/
+endef
+
+define KernelPackage/ipt-ipset
+$(call Package/ipset/Default)
+  SUBMENU:=Netfilter Extensions
+  TITLE:=IPset netfilter modules
+  DEPENDS+= kmod-ipt-core
+  FILES:=$(foreach mod,$(IPSET_MODULES),$(PKG_BUILD_DIR)/kernel/$(mod).ko)
+  AUTOLOAD:=$(call AutoLoad,46,$(IPSET_MODULES))
 endef
 
 $(eval $(call BuildPackage,ipset))
+$(eval $(call KernelPackage,ipt-ipset))