From a96e4fca10506462df4ee4035f0f86f09bd9dc34 Mon Sep 17 00:00:00 2001 From: "/C=EU/ST=EU/CN=Jozsef Kadlecsik/emailAddress=kadlec@blackhole.kfki.hu" Date: Mon, 20 Oct 2008 10:00:26 +0000 Subject: ipset 2.4 release userspace changes: - Added KBUILD_OUTPUT support (Sven Wegener) - Fix memory leak in ipset_iptreemap (Sven Wegener) - Fix multiple compiler warnings (Sven Wegener) - ipportiphash, ipportnethash and setlist types added - binding marked as deprecated functionality - element separator token changed to ',' in anticipating IPv6 addresses, old separator tokens are still supported - unnecessary includes removed - ipset does not try to resolve IP addresses when listing the content of sets (default changed) - manpage updated - ChangeLog forked for kernel part kernel part changes: - ipportiphash, ipportnethash and setlist types added - set type modules reworked to avoid code duplication as much as possible, code unification macros - expand_macros Makefile target added to help debugging code unification macros - ip_set_addip_kernel and ip_set_delip_kernel changed from void to int, __ip_set_get_byname and __ip_set_put_byid added for the sake of setlist type - unnecessary includes removed - compatibility fix for kernels >= 2.6.27: semaphore.h was moved from asm/ to linux/ (James King) - ChangeLog forked for kernel part --- Makefile | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 80f6ec1..a192216 100644 --- a/Makefile +++ b/Makefile @@ -7,14 +7,20 @@ ifndef KERNEL_DIR KERNEL_DIR=/usr/src/linux endif +ifndef KBUILD_OUTPUT +KBUILD_OUTPUT=$(KERNEL_DIR) +endif ifndef IP_NF_SET_MAX IP_NF_SET_MAX=256 endif ifndef IP_NF_SET_HASHSIZE IP_NF_SET_HASHSIZE=1024 endif +ifndef V +V=0 +endif -IPSET_VERSION:=2.3.3 +IPSET_VERSION:=2.4 PREFIX:=/usr/local LIBDIR:=$(PREFIX)/lib @@ -29,7 +35,10 @@ RELEASE_DIR:=/tmp COPT_FLAGS:=-O2 CFLAGS:=$(COPT_FLAGS) -Wall -Wunused -Ikernel/include -I. # -g -DIPSET_DEBUG #-pg # -DIPTC_DEBUG SH_CFLAGS:=$(CFLAGS) -fPIC -SETTYPES:=ipmap portmap macipmap iphash nethash iptree iptreemap ipporthash +SETTYPES:=ipmap portmap macipmap +SETTYPES+=iptree iptreemap +SETTYPES+=iphash nethash ipporthash ipportiphash ipportnethash +SETTYPES+=setlist PROGRAMS=ipset SHARED_LIBS=$(foreach T, $(SETTYPES),libipset_$(T).so) @@ -53,12 +62,12 @@ patch_kernel: modules: @[ ! -f $(KERNEL_DIR)/net/ipv4/netfilter/Config.in ] || (echo "Error: The directory '$(KERNEL_DIR)' looks like a Linux 2.4.x kernel source tree, you have to patch it by 'make patch_kernel'." && exit 1) @[ -f $(KERNEL_DIR)/net/ipv4/netfilter/Kconfig ] || (echo "Error: The directory '$(KERNEL_DIR)' doesn't look like a Linux 2.6.x kernel source tree." && exit 1) - @[ -f $(KERNEL_DIR)/.config ] || (echo "Error: The kernel source in '$(KERNEL_DIR)' must be configured" && exit 1) - @[ -f $(KERNEL_DIR)/Module.symvers ] || echo "Warning: You should run 'make modules' in '$(KERNEL_DIR)' beforehand" - cd kernel; make -C $(KERNEL_DIR) M=`pwd` IP_NF_SET_MAX=$(IP_NF_SET_MAX) IP_NF_SET_HASHSIZE=$(IP_NF_SET_HASHSIZE) modules + @[ -f $(KBUILD_OUTPUT)/.config ] || (echo "Error: The kernel source in '$(KERNEL_DIR)' must be configured" && exit 1) + @[ -f $(KBUILD_OUTPUT)/Module.symvers ] || echo "Warning: You should run 'make modules' in '$(KERNEL_DIR)' beforehand" + cd kernel; make -C $(KBUILD_OUTPUT) M=`pwd` V=$V IP_NF_SET_MAX=$(IP_NF_SET_MAX) IP_NF_SET_HASHSIZE=$(IP_NF_SET_HASHSIZE) modules modules_install: modules - cd kernel; make -C $(KERNEL_DIR) M=`pwd` modules_install + cd kernel; make -C $(KBUILD_OUTPUT) M=`pwd` modules_install install: binaries_install modules_install @@ -67,14 +76,14 @@ clean: $(EXTRA_CLEANS) [ -f $(KERNEL_DIR)/net/ipv4/netfilter/Config.in ] || (cd kernel; make -C $(KERNEL_DIR) M=`pwd` clean) #The ipset(8) self -ipset.o: ipset.c +ipset.o: ipset.c ipset.h $(CC) $(CFLAGS) -DIPSET_VERSION=\"$(IPSET_VERSION)\" -DIPSET_LIB_DIR=\"$(IPSET_LIB_DIR)\" -c -o $@ $< ipset: ipset.o - $(CC) $(CFLAGS) -ldl -rdynamic -o $@ $^ + $(CC) $(CFLAGS) -rdynamic -o $@ $^ -ldl #Pooltypes -ipset_%.o: ipset_%.c +ipset_%.o: ipset_%.c ipset.h $(CC) $(SH_CFLAGS) -o $@ -c $< libipset_%.so: ipset_%.o -- cgit v1.2.3