141edb306SCy Schubert# 241edb306SCy Schubert# Copyright (C) 2012 by Darren Reed. 341edb306SCy Schubert# 441edb306SCy Schubert# See the IPFILTER.LICENCE file for details on licencing. 541edb306SCy Schubert# 641edb306SCy SchubertIPFT=ipft_ef.o ipft_hx.o ipft_pc.o ipft_sn.o ipft_td.o ipft_tx.o opt.o 741edb306SCy SchubertOBJS=ipsend.o ip.o ipsopt.o y.tab.o lex.yy.o 841edb306SCy SchubertROBJS=ipresend.o ip.o resend.o $(IPFT) 941edb306SCy SchubertTOBJS=iptest.o iptests.o ip.o 1041edb306SCy SchubertBPF=sbpf.o 1141edb306SCy SchubertNIT=snit.o 1241edb306SCy SchubertSUNOS4=sock.o arp.o inet_addr.o 1341edb306SCy SchubertBSD=sock.o 44arp.o 1441edb306SCy SchubertLINUX=lsock.o slinux.o larp.o 1541edb306SCy SchubertLINUXK= 1641edb306SCy SchubertTOP=.. 1741edb306SCy SchubertSUNOS5=dlcommon.o sdlpi.o arp.o inet_addr.o 1841edb306SCy SchubertULTRIX=ultrix.o sock.o arp.o inet_addr.o 1941edb306SCy SchubertHPUX=hpux.o sock.o arp.o inet_addr.o 2041edb306SCy Schubert 2141edb306SCy Schubert#CC=gcc 2241edb306SCy SchubertDEBUG=-g 2341edb306SCy SchubertCFLAGS=$(DEBUG) -I. -Iipf 2441edb306SCy Schubert# 2541edb306SCy SchubertMFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \ 2641edb306SCy Schubert "IPFLKM=$(IPFLKM)" \ 2741edb306SCy Schubert "IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \ 2841edb306SCy Schubert "SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \ 2941edb306SCy Schubert "CPUDIR=$(CPUDIR)" 3041edb306SCy Schubert# 3141edb306SCy Schubertall: 3241edb306SCy Schubert @echo "Use one of these targets:" 3341edb306SCy Schubert @echo " sunos4-nit (standard SunOS 4.1.x)" 3441edb306SCy Schubert @echo " sunos4-bpf (SunOS4.1.x with BPF in the kernel)" 3541edb306SCy Schubert @echo " bsd-bpf (4.4BSD variant with BPF in the kernel)" 3641edb306SCy Schubert @echo " linux10 (Linux 1.0 kernels)" 3741edb306SCy Schubert @echo " linux12 (Linux 1.2 kernels)" 3841edb306SCy Schubert @echo " linux20 (Linux 2.0 kernels)" 3941edb306SCy Schubert @echo " sunos5 (Solaris 2.x)" 4041edb306SCy Schubert 4141edb306SCy Schubertipf: 4241edb306SCy Schubert -if [ ! -d iplang ] ; then ln -s ../iplang iplang; fi 4341edb306SCy Schubert -if [ ! -d netinet ] ; then ln -s ../netinet netinet; fi 4441edb306SCy Schubert -if [ ! -d ipf ] ; then ln -s .. ipf; fi 4541edb306SCy Schubert 4641edb306SCy Schuberty.tab.o: iplang/iplang_y.y 4741edb306SCy Schubert -if [ -h iplang ] ; then \ 4841edb306SCy Schubert (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \ 4941edb306SCy Schubert else \ 5041edb306SCy Schubert (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \ 5141edb306SCy Schubert fi 5241edb306SCy Schubert 5341edb306SCy Schubertlex.yy.o: iplang/iplang_l.l 5441edb306SCy Schubert -if [ -h iplang ] ; then \ 5541edb306SCy Schubert (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \ 5641edb306SCy Schubert else \ 5741edb306SCy Schubert (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \ 5841edb306SCy Schubert fi 5941edb306SCy Schubert 6041edb306SCy Schubert.c.o: 6141edb306SCy Schubert $(CC) $(CFLAGS) $(LINUXK) -c $< -o $@ 6241edb306SCy Schubert 6341edb306SCy Schubertinstall: 6441edb306SCy Schubert -$(INSTALL) -cs -g wheel -m 755 -o root ipsend ipresend iptest $(BINDEST) 6541edb306SCy Schubert 6641edb306SCy Schubertbpf sunos4-bpf : 6741edb306SCy Schubert make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \ 6841edb306SCy Schubert "CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll" 6941edb306SCy Schubert make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \ 7041edb306SCy Schubert "CFLAGS=$(CFLAGS) -DDOSOCKET" 7141edb306SCy Schubert make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \ 7241edb306SCy Schubert "CFLAGS=$(CFLAGS) -DDOSOCKET" 7341edb306SCy Schubert 7441edb306SCy Schubertnit sunos4 sunos4-nit : 7541edb306SCy Schubert make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \ 7641edb306SCy Schubert "CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll" 7741edb306SCy Schubert make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \ 7841edb306SCy Schubert "CFLAGS=$(CFLAGS) -DDOSOCKET" 7941edb306SCy Schubert make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \ 8041edb306SCy Schubert "CFLAGS=$(CFLAGS) -DDOSOCKET" 8141edb306SCy Schubert 8241edb306SCy Schubertdlpi sunos5 : 8341edb306SCy Schubert make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \ 8441edb306SCy Schubert CFLAGS="$(CFLAGS) -Dsolaris -DIPSEND" "LIBS=-lsocket -lnsl" \ 8541edb306SCy Schubert "LLIB=-ll" 8641edb306SCy Schubert make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \ 8741edb306SCy Schubert CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl" 8841edb306SCy Schubert make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \ 8941edb306SCy Schubert CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl" 9041edb306SCy Schubert 9141edb306SCy Schubertbsd-bpf : 9241edb306SCy Schubert make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \ 9341edb306SCy Schubert "CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll" 9441edb306SCy Schubert make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \ 9541edb306SCy Schubert "CFLAGS=$(CFLAGS) -DDOSOCKET" 9641edb306SCy Schubert make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \ 9741edb306SCy Schubert "CFLAGS=$(CFLAGS) -DDOSOCKET" 9841edb306SCy Schubert 9941edb306SCy Schubertlinuxrev : 10041edb306SCy Schubert make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \ 10141edb306SCy Schubert CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET -DIPSEND" $(LINUXK) 10241edb306SCy Schubert make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \ 10341edb306SCy Schubert CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK) 10441edb306SCy Schubert make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \ 10541edb306SCy Schubert CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK) 10641edb306SCy Schubert 10741edb306SCy Schubertlinux10: 10841edb306SCy Schubert make linuxrev 'LINUXK="LINUXK=-DLINUX=0100"' \ 10941edb306SCy Schubert "INC=-I/usr/src/linux/include" "LLIB=-lfl" 11041edb306SCy Schubert 11141edb306SCy Schubertlinux12: 11241edb306SCy Schubert make linuxrev 'LINUXK="LINUXK=-DLINUX=0102"' "INC=-I/usr/src/linux" \ 11341edb306SCy Schubert "LLIB=-lfl" 11441edb306SCy Schubert 11541edb306SCy Schubertlinux20: 11641edb306SCy Schubert make linuxrev 'LINUXK="LINUXK=-DLINUX=0200"' \ 11741edb306SCy Schubert "INC=-I/usr/src/linux/include" "LLIB=-lfl" "ELIB=-lelf" 11841edb306SCy Schubert 11941edb306SCy Schubertultrix : 12041edb306SCy Schubert make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \ 12141edb306SCy Schubert CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" "LLIB=-ll" 12241edb306SCy Schubert make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \ 12341edb306SCy Schubert CFLAGS="$(CFLAGS)" "LIBS=" 12441edb306SCy Schubert make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \ 12541edb306SCy Schubert CFLAGS="$(CFLAGS)" "LIBS=" 12641edb306SCy Schubert 12741edb306SCy Schuberthpux9 : 12841edb306SCy Schubert make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 12941edb306SCy Schubert CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" 13041edb306SCy Schubert make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 13141edb306SCy Schubert CFLAGS="$(CFLAGS)" "LIBS=" 13241edb306SCy Schubert make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 13341edb306SCy Schubert CFLAGS="$(CFLAGS)" "LIBS=" 13441edb306SCy Schubert 13541edb306SCy Schuberthpux11 : 13641edb306SCy Schubert make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 13741edb306SCy Schubert CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" 13841edb306SCy Schubert make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 13941edb306SCy Schubert CFLAGS="$(CFLAGS)" "LIBS=" 14041edb306SCy Schubert make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 14141edb306SCy Schubert CFLAGS="$(CFLAGS)" "LIBS=" 14241edb306SCy Schubert 14341edb306SCy Schubertipsend: ipf $(OBJS) $(UNIXOBJS) 14441edb306SCy Schubert $(CC) $(OBJS) $(UNIXOBJS) -o $@ $(LIBS) $(LLIB) $(ELIB) 14541edb306SCy Schubert 14641edb306SCy Schubertipresend: $(ROBJS) $(UNIXOBJS) 14741edb306SCy Schubert $(CC) $(ROBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB) 14841edb306SCy Schubert 14941edb306SCy Schubertiptest: $(TOBJS) $(UNIXOBJS) 15041edb306SCy Schubert $(CC) $(TOBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB) 15141edb306SCy Schubert 15241edb306SCy Schubertipft_ef.o: ipf/ipft_ef.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 15341edb306SCy Schubert $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_ef.c -o $@ 15441edb306SCy Schubert 15541edb306SCy Schubertipft_hx.o: ipf/ipft_hx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 15641edb306SCy Schubert $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_hx.c -o $@ 15741edb306SCy Schubert 15841edb306SCy Schubertipft_pc.o: ipf/ipft_pc.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 15941edb306SCy Schubert $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_pc.c -o $@ 16041edb306SCy Schubert 16141edb306SCy Schubertipft_sn.o: ipf/ipft_sn.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 16241edb306SCy Schubert $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_sn.c -o $@ 16341edb306SCy Schubert 16441edb306SCy Schubertipft_td.o: ipf/ipft_td.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 16541edb306SCy Schubert $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_td.c -o $@ 16641edb306SCy Schubert 16741edb306SCy Schubertipft_tx.o: ipf/ipft_tx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 16841edb306SCy Schubert $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_tx.c -o $@ 16941edb306SCy Schubert 17041edb306SCy Schubertopt.o: ipf/opt.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 17141edb306SCy Schubert $(CC) $(CFLAGS) $(LINUXK) -c ipf/opt.c -o $@ 17241edb306SCy Schubert 17341edb306SCy Schubertinet_addr.o: ipf/inet_addr.c 17441edb306SCy Schubert $(CC) $(CFLAGS) $(LINUXK) -c ipf/inet_addr.c -o $@ 17541edb306SCy Schubert 17641edb306SCy Schubertclean: 17741edb306SCy Schubert rm -rf *.o *core a.out ipsend ipresend iptest 17841edb306SCy Schubert if [ -d iplang ]; then (cd iplang; $(MAKE) $(MFLAGS) clean); fi 17941edb306SCy Schubert if [ -d $(TOP)/iplang ]; then (cd $(TOP)/iplang; $(MAKE) $(MFLAGS) clean); fi 18041edb306SCy Schubert 18141edb306SCy Schubertdo-cvs: 18241edb306SCy Schubert find . -type d -name CVS -print | xargs /bin/rm -rf 18341edb306SCy Schubert find . -type f -name .cvsignore -print | xargs /bin/rm -f 184