Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 1 | # Standard part of Makefile for topdir. |
| 2 | TOPLEVEL_INCLUDED=YES |
| 3 | |
| 4 | ifndef KERNEL_DIR |
| 5 | KERNEL_DIR=/usr/src/linux |
| 6 | endif |
Rusty Russell | 8e07bd7 | 2000-12-19 03:11:00 +0000 | [diff] [blame^] | 7 | NETFILTER_VERSION:=1.1.3 |
| 8 | OLD_NETFILTER_VERSION:=1.1.2 |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 9 | |
| 10 | LIBDIR:=/usr/local/lib |
| 11 | BINDIR:=/usr/local/bin |
| 12 | MANDIR:=/usr/local/man |
James Morris | c82e9ac | 2000-11-24 14:34:02 +0000 | [diff] [blame] | 13 | INCDIR:=/usr/local/include |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 14 | |
Rusty Russell | 8e07bd7 | 2000-12-19 03:11:00 +0000 | [diff] [blame^] | 15 | # Need libc6 for this. Should covert to autoconf. |
| 16 | ifneq ($(shell ldd --version | fgrep 2.2),) |
| 17 | DO_IPV6=1 |
| 18 | endif |
| 19 | |
Rusty Russell | 8c245b5 | 2000-07-14 08:01:22 +0000 | [diff] [blame] | 20 | COPT_FLAGS:=-O2 -DNDEBUG |
| 21 | CFLAGS:=$(COPT_FLAGS) -Wall -Wunused -Iinclude/ -I$(KERNEL_DIR)/include -DNETFILTER_VERSION=\"$(NETFILTER_VERSION)\" #-g #-pg |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 22 | |
Rusty Russell | 5622f21 | 2000-05-02 16:42:09 +0000 | [diff] [blame] | 23 | DEPFILES = $(SHARED_LIBS:%.so=%.d) |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 24 | SH_CFLAGS:=$(CFLAGS) -fPIC |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 25 | |
Rusty Russell | 8e07bd7 | 2000-12-19 03:11:00 +0000 | [diff] [blame^] | 26 | EXTRAS+=iptables iptables.o iptables-save iptables-restore |
| 27 | EXTRA_INSTALLS+=$(DESTDIR)$(BINDIR)/iptables $(DESTDIR)$(MANDIR)/man8/iptables.8 $(DESTDIR)$(BINDIR)/iptables-save $(DESTDIR)$(BINDIR)/iptables-restore |
| 28 | |
| 29 | ifdef DO_IPV6 |
| 30 | EXTRAS+=ip6tables ip6tables.o |
| 31 | EXTRA_INSTALLS+=$(DESTDIR)$(BINDIR)/ip6tables |
| 32 | endif |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 33 | |
Rusty Russell | 09b9a41 | 2000-04-27 10:16:47 +0000 | [diff] [blame] | 34 | # Sparc64 hack |
| 35 | ifeq ($(shell uname -m),sparc64) |
| 36 | # The kernel is 64-bit, even though userspace is 32. |
Rusty Russell | c8d7d89 | 2000-09-19 07:01:00 +0000 | [diff] [blame] | 37 | CFLAGS+=-DIPT_MIN_ALIGN=8 -DKERNEL_64_USERSPACE_32 |
Rusty Russell | 09b9a41 | 2000-04-27 10:16:47 +0000 | [diff] [blame] | 38 | endif |
| 39 | |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 40 | ifndef IPT_LIBDIR |
| 41 | IPT_LIBDIR:=$(LIBDIR)/iptables |
| 42 | endif |
| 43 | |
Rusty Russell | 5245182 | 2000-08-27 07:47:46 +0000 | [diff] [blame] | 44 | default: print-extensions all |
| 45 | |
| 46 | print-extensions: |
Rusty Russell | c8d7d89 | 2000-09-19 07:01:00 +0000 | [diff] [blame] | 47 | @[ -n "$(OPTIONALS)" ] && echo Extensions found: $(OPTIONALS) |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 48 | |
| 49 | iptables.o: iptables.c |
| 50 | $(CC) $(CFLAGS) -DIPT_LIB_DIR=\"$(IPT_LIBDIR)\" -c -o $@ $< |
| 51 | |
| 52 | iptables: iptables-standalone.c iptables.o libiptc/libiptc.a |
| 53 | $(CC) $(CFLAGS) -DIPT_LIB_DIR=\"$(IPT_LIBDIR)\" -rdynamic -o $@ $^ -ldl |
| 54 | |
| 55 | $(DESTDIR)$(BINDIR)/iptables: iptables |
| 56 | @[ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR) |
| 57 | cp $< $@ |
| 58 | |
| 59 | iptables-save: iptables-save.c iptables.o libiptc/libiptc.a |
| 60 | $(CC) $(CFLAGS) -DIPT_LIB_DIR=\"$(IPT_LIBDIR)\" -rdynamic -o $@ $^ -ldl |
| 61 | |
| 62 | $(DESTDIR)$(BINDIR)/iptables-save: iptables-save |
| 63 | @[ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR) |
| 64 | cp $< $@ |
| 65 | |
| 66 | iptables-restore: iptables-restore.c iptables.o libiptc/libiptc.a |
| 67 | $(CC) $(CFLAGS) -DIPT_LIB_DIR=\"$(IPT_LIBDIR)\" -rdynamic -o $@ $^ -ldl |
| 68 | |
| 69 | $(DESTDIR)$(BINDIR)/iptables-restore: iptables-restore |
| 70 | @[ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR) |
| 71 | cp $< $@ |
| 72 | |
Philip Blundell | 8c70090 | 2000-05-15 02:17:52 +0000 | [diff] [blame] | 73 | ip6tables.o: ip6tables.c |
| 74 | $(CC) $(CFLAGS) -DIPT_LIB_DIR=\"$(IPT_LIBDIR)\" -c -o $@ $< |
| 75 | |
| 76 | ip6tables: ip6tables-standalone.c ip6tables.o libiptc/libiptc.a |
| 77 | $(CC) $(CFLAGS) -DIPT_LIB_DIR=\"$(IPT_LIBDIR)\" -rdynamic -o $@ $^ -ldl |
| 78 | |
| 79 | $(DESTDIR)$(BINDIR)/ip6tables: ip6tables |
| 80 | @[ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR) |
| 81 | cp $< $@ |
| 82 | |
| 83 | ip6tables-save: ip6tables-save.c ip6tables.o libiptc/libiptc.a |
| 84 | $(CC) $(CFLAGS) -DIPT_LIB_DIR=\"$(IPT_LIBDIR)\" -rdynamic -o $@ $^ -ldl |
| 85 | |
| 86 | $(DESTDIR)$(BINDIR)/ip6tables-save: ip6tables-save |
| 87 | @[ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR) |
| 88 | cp $< $@ |
| 89 | |
| 90 | ip6tables-restore: ip6tables-restore.c ip6tables.o libiptc/libiptc.a |
| 91 | $(CC) $(CFLAGS) -DIPT_LIB_DIR=\"$(IPT_LIBDIR)\" -rdynamic -o $@ $^ -ldl |
| 92 | |
| 93 | $(DESTDIR)$(BINDIR)/ip6tables-restore: ip6tables-restore |
| 94 | @[ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR) |
| 95 | cp $< $@ |
| 96 | |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 97 | $(DESTDIR)$(MANDIR)/man8/iptables.8: iptables.8 |
| 98 | @[ -d $(DESTDIR)$(MANDIR)/man8 ] || mkdir -p $(DESTDIR)$(MANDIR)/man8 |
| 99 | cp $< $@ |
| 100 | |
| 101 | EXTRA_DEPENDS+=iptables-standalone.d iptables.d |
| 102 | |
| 103 | iptables-standalone.d iptables.d: %.d: %.c |
| 104 | @-$(CC) -M -MG $(CFLAGS) $< | sed -e 's@^.*\.o:@$*.d $*.o:@' > $@ |
| 105 | |
James Morris | c82e9ac | 2000-11-24 14:34:02 +0000 | [diff] [blame] | 106 | |
| 107 | # Development Targets |
| 108 | install-devel-man3: $(DEVEL_MAN3) |
| 109 | @[ -d $(DESTDIR)$(MANDIR)/man3 ] || mkdir -p $(DESTDIR)$(MANDIR)/man3 |
| 110 | @cp -v $(DEVEL_MAN3) $(DESTDIR)$(MANDIR)/man3 |
| 111 | |
| 112 | install-devel-headers: $(DEVEL_HEADERS) |
| 113 | @[ -d $(DESTDIR)$(INCDIR) ] || mkdir -p $(DESTDIR)$(INCDIR) |
| 114 | @cp -v $(DEVEL_HEADERS) $(DESTDIR)$(INCDIR) |
| 115 | |
| 116 | install-devel-libs: $(DEVEL_LIBS) |
| 117 | @[ -d $(DESTDIR)$(LIBDIR) ] || mkdir -p $(DESTDIR)$(LIBDIR) |
| 118 | @cp -v $(DEVEL_LIBS) $(DESTDIR)$(LIBDIR) |
| 119 | |
| 120 | install-devel: all install-devel-man3 install-devel-headers install-devel-libs |
| 121 | |
Rusty Russell | 905795c | 2000-04-19 11:22:03 +0000 | [diff] [blame] | 122 | distclean: clean |
Rusty Russell | a470f33 | 2000-11-07 04:08:34 +0000 | [diff] [blame] | 123 | @rm -f TAGS `find . -name '*~' -o -name '.*~'` `find . -name '*.rej'` `find . -name '*.d'` .makefirst |
Rusty Russell | 175f641 | 2000-03-24 09:32:20 +0000 | [diff] [blame] | 124 | |
Rusty Russell | 5245182 | 2000-08-27 07:47:46 +0000 | [diff] [blame] | 125 | .PHONY: patch-o-matic |
Rusty Russell | a470f33 | 2000-11-07 04:08:34 +0000 | [diff] [blame] | 126 | patch-o-matic/ patch-o-matic: |
Rusty Russell | 5245182 | 2000-08-27 07:47:46 +0000 | [diff] [blame] | 127 | @cd $@ && KERNEL_DIR=$(KERNEL_DIR) ./runme |
| 128 | |
Rusty Russell | 175f641 | 2000-03-24 09:32:20 +0000 | [diff] [blame] | 129 | # Rusty's distro magic. |
| 130 | distrib: check nowhitespace distclean delrelease /home/public/netfilter/iptables-$(NETFILTER_VERSION).tar.bz2 diff md5sums |
| 131 | |
| 132 | # Makefile must not define: |
| 133 | # -g -pg |
Rusty Russell | 849779c | 2000-04-23 15:51:51 +0000 | [diff] [blame] | 134 | # And must define -NDEBUG |
Rusty Russell | 175f641 | 2000-03-24 09:32:20 +0000 | [diff] [blame] | 135 | check: |
Rusty Russell | 849779c | 2000-04-23 15:51:51 +0000 | [diff] [blame] | 136 | @if echo $(CFLAGS) | egrep -e '-g|-pg' >/dev/null; then echo Remove debugging flags; exit 1; else exit 0; fi |
| 137 | @if echo $(CFLAGS) | egrep -e NDEBUG >/dev/null; then exit 0; else echo Define -DNDEBUG; exit 1; fi |
Rusty Russell | 175f641 | 2000-03-24 09:32:20 +0000 | [diff] [blame] | 138 | |
| 139 | nowhitespace: |
| 140 | @if grep -n ' $$' `find . -name 'Makefile' -o -name '*.[ch]'`; then exit 1; else exit 0; fi |
| 141 | |
| 142 | delrelease: |
| 143 | rm -f /home/public/netfilter/iptables-$(NETFILTER_VERSION).tar.bz2 |
| 144 | |
| 145 | /home/public/netfilter/iptables-$(NETFILTER_VERSION).tar.bz2: |
Rusty Russell | 905795c | 2000-04-19 11:22:03 +0000 | [diff] [blame] | 146 | cd .. && ln -sf userspace iptables-$(NETFILTER_VERSION) && tar cvf - --exclude CVS iptables-$(NETFILTER_VERSION)/. | bzip2 -9 > $@ && rm iptables-$(NETFILTER_VERSION) |
Rusty Russell | 175f641 | 2000-03-24 09:32:20 +0000 | [diff] [blame] | 147 | |
| 148 | diff: /home/public/netfilter/iptables-$(NETFILTER_VERSION).tar.bz2 |
| 149 | @mkdir /tmp/diffdir |
| 150 | @cd /tmp/diffdir && tar xfI /home/public/netfilter/iptables-$(NETFILTER_VERSION).tar.bz2 |
| 151 | @set -e; cd /tmp/diffdir; tar xfI /home/public/netfilter/iptables-$(OLD_NETFILTER_VERSION).tar.bz2; echo Creating patch-iptables-$(OLD_NETFILTER_VERSION)-$(NETFILTER_VERSION).bz2; diff -urN iptables-$(OLD_NETFILTER_VERSION) iptables-$(NETFILTER_VERSION) | bzip2 -9 > /home/public/netfilter/patch-iptables-$(OLD_NETFILTER_VERSION)-$(NETFILTER_VERSION).bz2 |
| 152 | @rm -rf /tmp/diffdir |
| 153 | |
| 154 | md5sums: |
| 155 | cd /home/public/netfilter/ && md5sum patch-iptables-*-$(NETFILTER_VERSION).bz2 iptables-$(NETFILTER_VERSION).tar.bz2 |
| 156 | |
Marc Boucher | e6869a8 | 2000-03-20 06:03:29 +0000 | [diff] [blame] | 157 | # $(wildcard) fails wierdly with make v.3.78.1. |
| 158 | include $(shell echo */Makefile) |
| 159 | include Rules.make |