1# 2# Copyright (C) 2012 by Darren Reed. 3# 4# See the IPFILTER.LICENCE file for details on licencing. 5# 6IPFT=ipft_ef.o ipft_hx.o ipft_pc.o ipft_sn.o ipft_td.o ipft_tx.o opt.o 7OBJS=ipsend.o ip.o ipsopt.o y.tab.o lex.yy.o 8ROBJS=ipresend.o ip.o resend.o $(IPFT) 9TOBJS=iptest.o iptests.o ip.o 10BPF=sbpf.o 11NIT=snit.o 12SUNOS4=sock.o arp.o inet_addr.o 13BSD=sock.o 44arp.o 14LINUX=lsock.o slinux.o larp.o 15LINUXK= 16TOP=.. 17SUNOS5=dlcommon.o sdlpi.o arp.o inet_addr.o 18ULTRIX=ultrix.o sock.o arp.o inet_addr.o 19HPUX=hpux.o sock.o arp.o inet_addr.o 20 21#CC=gcc 22DEBUG=-g 23CFLAGS=$(DEBUG) -I. -Iipf 24# 25MFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \ 26 "IPFLKM=$(IPFLKM)" \ 27 "IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \ 28 "SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \ 29 "CPUDIR=$(CPUDIR)" 30# 31all: 32 @echo "Use one of these targets:" 33 @echo " sunos4-nit (standard SunOS 4.1.x)" 34 @echo " sunos4-bpf (SunOS4.1.x with BPF in the kernel)" 35 @echo " bsd-bpf (4.4BSD variant with BPF in the kernel)" 36 @echo " linux10 (Linux 1.0 kernels)" 37 @echo " linux12 (Linux 1.2 kernels)" 38 @echo " linux20 (Linux 2.0 kernels)" 39 @echo " sunos5 (Solaris 2.x)" 40 41ipf: 42 -if [ ! -d iplang ] ; then ln -s ../iplang iplang; fi 43 -if [ ! -d netinet ] ; then ln -s ../netinet netinet; fi 44 -if [ ! -d ipf ] ; then ln -s .. ipf; fi 45 46y.tab.o: iplang/iplang_y.y 47 -if [ -h iplang ] ; then \ 48 (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \ 49 else \ 50 (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \ 51 fi 52 53lex.yy.o: iplang/iplang_l.l 54 -if [ -h iplang ] ; then \ 55 (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \ 56 else \ 57 (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \ 58 fi 59 60.c.o: 61 $(CC) $(CFLAGS) $(LINUXK) -c $< -o $@ 62 63install: 64 -$(INSTALL) -cs -g wheel -m 755 -o root ipsend ipresend iptest $(BINDEST) 65 66bpf sunos4-bpf : 67 make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \ 68 "CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll" 69 make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \ 70 "CFLAGS=$(CFLAGS) -DDOSOCKET" 71 make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \ 72 "CFLAGS=$(CFLAGS) -DDOSOCKET" 73 74nit sunos4 sunos4-nit : 75 make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \ 76 "CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll" 77 make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \ 78 "CFLAGS=$(CFLAGS) -DDOSOCKET" 79 make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \ 80 "CFLAGS=$(CFLAGS) -DDOSOCKET" 81 82dlpi sunos5 : 83 make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \ 84 CFLAGS="$(CFLAGS) -Dsolaris -DIPSEND" "LIBS=-lsocket -lnsl" \ 85 "LLIB=-ll" 86 make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \ 87 CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl" 88 make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \ 89 CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl" 90 91bsd-bpf : 92 make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \ 93 "CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll" 94 make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \ 95 "CFLAGS=$(CFLAGS) -DDOSOCKET" 96 make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \ 97 "CFLAGS=$(CFLAGS) -DDOSOCKET" 98 99linuxrev : 100 make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \ 101 CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET -DIPSEND" $(LINUXK) 102 make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \ 103 CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK) 104 make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \ 105 CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK) 106 107linux10: 108 make linuxrev 'LINUXK="LINUXK=-DLINUX=0100"' \ 109 "INC=-I/usr/src/linux/include" "LLIB=-lfl" 110 111linux12: 112 make linuxrev 'LINUXK="LINUXK=-DLINUX=0102"' "INC=-I/usr/src/linux" \ 113 "LLIB=-lfl" 114 115linux20: 116 make linuxrev 'LINUXK="LINUXK=-DLINUX=0200"' \ 117 "INC=-I/usr/src/linux/include" "LLIB=-lfl" "ELIB=-lelf" 118 119ultrix : 120 make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \ 121 CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" "LLIB=-ll" 122 make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \ 123 CFLAGS="$(CFLAGS)" "LIBS=" 124 make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \ 125 CFLAGS="$(CFLAGS)" "LIBS=" 126 127hpux9 : 128 make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 129 CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" 130 make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 131 CFLAGS="$(CFLAGS)" "LIBS=" 132 make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 133 CFLAGS="$(CFLAGS)" "LIBS=" 134 135hpux11 : 136 make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 137 CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" 138 make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 139 CFLAGS="$(CFLAGS)" "LIBS=" 140 make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 141 CFLAGS="$(CFLAGS)" "LIBS=" 142 143ipsend: ipf $(OBJS) $(UNIXOBJS) 144 $(CC) $(OBJS) $(UNIXOBJS) -o $@ $(LIBS) $(LLIB) $(ELIB) 145 146ipresend: $(ROBJS) $(UNIXOBJS) 147 $(CC) $(ROBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB) 148 149iptest: $(TOBJS) $(UNIXOBJS) 150 $(CC) $(TOBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB) 151 152ipft_ef.o: ipf/ipft_ef.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 153 $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_ef.c -o $@ 154 155ipft_hx.o: ipf/ipft_hx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 156 $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_hx.c -o $@ 157 158ipft_pc.o: ipf/ipft_pc.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 159 $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_pc.c -o $@ 160 161ipft_sn.o: ipf/ipft_sn.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 162 $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_sn.c -o $@ 163 164ipft_td.o: ipf/ipft_td.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 165 $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_td.c -o $@ 166 167ipft_tx.o: ipf/ipft_tx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 168 $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_tx.c -o $@ 169 170opt.o: ipf/opt.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 171 $(CC) $(CFLAGS) $(LINUXK) -c ipf/opt.c -o $@ 172 173inet_addr.o: ipf/inet_addr.c 174 $(CC) $(CFLAGS) $(LINUXK) -c ipf/inet_addr.c -o $@ 175 176clean: 177 rm -rf *.o *core a.out ipsend ipresend iptest 178 if [ -d iplang ]; then (cd iplang; $(MAKE) $(MFLAGS) clean); fi 179 if [ -d $(TOP)/iplang ]; then (cd $(TOP)/iplang; $(MAKE) $(MFLAGS) clean); fi 180 181do-cvs: 182 find . -type d -name CVS -print | xargs /bin/rm -rf 183 find . -type f -name .cvsignore -print | xargs /bin/rm -f 184