- adapt to building as an extra iptables sub-package
authorMark Huang <mlhuang@cs.princeton.edu>
Mon, 20 Feb 2006 19:41:26 +0000 (19:41 +0000)
committerMark Huang <mlhuang@cs.princeton.edu>
Mon, 20 Feb 2006 19:41:26 +0000 (19:41 +0000)
ipset/Makefile

index 128d1df..261e654 100644 (file)
@@ -1,64 +1,45 @@
-#!/usr/bin/make
-
-######################################################################
-# YOU SHOULD NOT NEED TO TOUCH ANYTHING BELOW THIS LINE
-######################################################################
-
-ifndef KERNEL_DIR
-KERNEL_DIR=/usr/src/linux
-endif
-
 IPSET_VERSION:=2.2.8
 
-PREFIX:=/usr/local
-LIBDIR:=$(PREFIX)/lib
-BINDIR:=$(PREFIX)/sbin
-MANDIR:=$(PREFIX)/man
-INCDIR:=$(PREFIX)/include
 IPSET_LIB_DIR:=$(LIBDIR)/ipset
 
-# directory for new iptables releases
-RELEASE_DIR:=/tmp
-
-COPT_FLAGS:=-O2
-CFLAGS:=$(COPT_FLAGS) -D__KERNGLUE__ -Wall -Wunused -I$(KERNEL_DIR)/include -I. # -g -DIPSET_DEBUG #-pg # -DIPTC_DEBUG
-SH_CFLAGS:=$(CFLAGS) -fPIC
+IPSET_CFLAGS:=# -g -DIPSET_DEBUG #-pg # -DIPTC_DEBUG
 SETTYPES:=ipmap portmap macipmap iphash nethash iptree ipporthash
 
-PROGRAMS=ipset
-SHARED_LIBS=$(foreach T, $(SETTYPES),libipset_$(T).so)
-INSTALL=$(DESTDIR)$(BINDIR)/ipset $(DESTDIR)$(MANDIR)/man8/ipset.8
-INSTALL+=$(foreach T, $(SETTYPES), $(DESTDIR)$(LIBDIR)/ipset/libipset_$(T).so)
-
-all: $(PROGRAMS) $(SHARED_LIBS)
+ifneq ($(wildcard $(KERNEL_DIR)/include/linux/netfilter_ipv4/ip_set.h),)
 
-install: all $(INSTALL)
+EXTRAS+=ipset/ipset
+EXTRAS+=$(foreach T, $(SETTYPES),ipset/libipset_$(T).so)
+EXTRA_INSTALLS+=$(DESTDIR)$(BINDIR)/ipset $(DESTDIR)$(MANDIR)/man8/ipset.8
+EXTRA_INSTALLS+=$(foreach T, $(SETTYPES), $(DESTDIR)$(LIBDIR)/ipset/libipset_$(T).so)
 
-clean: $(EXTRA_CLEANS)
-       rm -rf $(PROGRAMS) $(SHARED_LIBS) *.o *~
+#Dependencies
+ipset/libipset.d: $(foreach T, $(SETTYPES),ipset/ipset_$(T).c)
+       @-$(CC) -M -MG $(CFLAGS) $(IPSET_CFLAGS) $^ | sed -e 's@^.*\.o:@$*.d $*.a($*.o):@' > $@
 
 #The ipset(8) self
-ipset.o: ipset.c
-       $(CC) $(CFLAGS) -DIPSET_VERSION=\"$(IPSET_VERSION)\" -DIPSET_LIB_DIR=\"$(IPSET_LIB_DIR)\" -c -o $@ $<
+ipset/ipset.o: ipset/ipset.c
+       $(CC) $(CFLAGS) $(IPSET_CFLAGS) -DIPSET_VERSION=\"$(IPSET_VERSION)\" -DIPSET_LIB_DIR=\"$(IPSET_LIB_DIR)\" -c -o $@ $<
 
-ipsetipset.o
-       $(CC) $(CFLAGS) -ldl -rdynamic -o $@ $^
+ipset/ipset: ipset/ipset.o
+       $(CC) $(CFLAGS) $(IPSET_CFLAGS) -ldl -rdynamic -o $@ $^
 
 #Pooltypes
-ipset_%.o: ipset_%.c
-       $(CC) $(SH_CFLAGS) -o $@ -c $<
+ipset/ipset_%.o: ipset/ipset_%.c
+       $(CC) $(SH_CFLAGS) $(IPSET_CFLAGS) -o $@ -c $<
 
-libipset_%.so: ipset_%.o
+ipset/libipset_%.so: ipset/ipset_%.o
        $(LD) -shared -o $@ $<
 
-$(DESTDIR)$(LIBDIR)/ipset/libipset_%.so: libipset_%.so
+$(DESTDIR)$(LIBDIR)/ipset/libipset_%.so: ipset/libipset_%.so
        @[ -d $(DESTDIR)$(LIBDIR)/ipset ] || mkdir -p $(DESTDIR)$(LIBDIR)/ipset
        cp $< $@
 
-$(DESTDIR)$(BINDIR)/ipset: ipset
+$(DESTDIR)$(BINDIR)/ipset: ipset/ipset
        @[ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR)
        cp $< $@
 
-$(DESTDIR)$(MANDIR)/man8/ipset.8: ipset.8
+$(DESTDIR)$(MANDIR)/man8/ipset.8: ipset/ipset.8
        @[ -d $(DESTDIR)$(MANDIR)/man8 ] || mkdir -p $(DESTDIR)$(MANDIR)/man8
        cp $< $@
+
+endif