122514Sdarrenr# 2255332Scy# Copyright (C) 2012 by Darren Reed. 322514Sdarrenr# 4145510Sdarrenr# See the IPFILTER.LICENCE file for details on licencing. 522514Sdarrenr# 631183SpeterIPFT=ipft_ef.o ipft_hx.o ipft_pc.o ipft_sn.o ipft_td.o ipft_tx.o opt.o 731183SpeterOBJS=ipsend.o ip.o ipsopt.o y.tab.o lex.yy.o 831183SpeterROBJS=ipresend.o ip.o resend.o $(IPFT) 922514SdarrenrTOBJS=iptest.o iptests.o ip.o 1022514SdarrenrBPF=sbpf.o 1122514SdarrenrNIT=snit.o 1231183SpeterSUNOS4=sock.o arp.o inet_addr.o 1322514SdarrenrBSD=sock.o 44arp.o 1422514SdarrenrLINUX=lsock.o slinux.o larp.o 1522514SdarrenrLINUXK= 1622514SdarrenrTOP=.. 1731183SpeterSUNOS5=dlcommon.o sdlpi.o arp.o inet_addr.o 1831183SpeterULTRIX=ultrix.o sock.o arp.o inet_addr.o 1931183SpeterHPUX=hpux.o sock.o arp.o inet_addr.o 2022514Sdarrenr 2131183Speter#CC=gcc 2231183SpeterDEBUG=-g 2331183SpeterCFLAGS=$(DEBUG) -I. -Iipf 2431183Speter# 2531183SpeterMFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \ 2631183Speter "IPFLKM=$(IPFLKM)" \ 2731183Speter "IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \ 2831183Speter "SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \ 2931183Speter "CPUDIR=$(CPUDIR)" 3031183Speter# 3122514Sdarrenrall: 3222514Sdarrenr @echo "Use one of these targets:" 3322514Sdarrenr @echo " sunos4-nit (standard SunOS 4.1.x)" 3422514Sdarrenr @echo " sunos4-bpf (SunOS4.1.x with BPF in the kernel)" 3522514Sdarrenr @echo " bsd-bpf (4.4BSD variant with BPF in the kernel)" 3622514Sdarrenr @echo " linux10 (Linux 1.0 kernels)" 3731183Speter @echo " linux12 (Linux 1.2 kernels)" 3822514Sdarrenr @echo " linux20 (Linux 2.0 kernels)" 3922514Sdarrenr @echo " sunos5 (Solaris 2.x)" 4022514Sdarrenr 4131183Speteripf: 4231183Speter -if [ ! -d iplang ] ; then ln -s ../iplang iplang; fi 4331183Speter -if [ ! -d netinet ] ; then ln -s ../netinet netinet; fi 4431183Speter -if [ ! -d ipf ] ; then ln -s .. ipf; fi 4531183Speter 4631183Spetery.tab.o: iplang/iplang_y.y 4731183Speter -if [ -h iplang ] ; then \ 4831183Speter (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \ 4931183Speter else \ 5031183Speter (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \ 5131183Speter fi 5231183Speter 5331183Speterlex.yy.o: iplang/iplang_l.l 5431183Speter -if [ -h iplang ] ; then \ 5531183Speter (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=../ipsend' ) \ 5631183Speter else \ 5731183Speter (cd iplang; ${MAKE} $(MFLAGS) 'DESTDIR=..' ) \ 5831183Speter fi 5931183Speter 6022514Sdarrenr.c.o: 6122514Sdarrenr $(CC) $(CFLAGS) $(LINUXK) -c $< -o $@ 6222514Sdarrenr 6326119Sdarrenrinstall: 6426119Sdarrenr -$(INSTALL) -cs -g wheel -m 755 -o root ipsend ipresend iptest $(BINDEST) 6526119Sdarrenr 6622514Sdarrenrbpf sunos4-bpf : 6722514Sdarrenr make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \ 6853024Sguido "CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll" 6922514Sdarrenr make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \ 7022514Sdarrenr "CFLAGS=$(CFLAGS) -DDOSOCKET" 7122514Sdarrenr make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(SUNOS4)" "CC=$(CC)" \ 7222514Sdarrenr "CFLAGS=$(CFLAGS) -DDOSOCKET" 7322514Sdarrenr 7422514Sdarrenrnit sunos4 sunos4-nit : 7522514Sdarrenr make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \ 7653024Sguido "CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll" 7722514Sdarrenr make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \ 7822514Sdarrenr "CFLAGS=$(CFLAGS) -DDOSOCKET" 7922514Sdarrenr make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(NIT) $(SUNOS4)" "CC=$(CC)" \ 8022514Sdarrenr "CFLAGS=$(CFLAGS) -DDOSOCKET" 8122514Sdarrenr 8222514Sdarrenrdlpi sunos5 : 8322514Sdarrenr make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \ 8453024Sguido CFLAGS="$(CFLAGS) -Dsolaris -DIPSEND" "LIBS=-lsocket -lnsl" \ 8553024Sguido "LLIB=-ll" 8622514Sdarrenr make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \ 8722514Sdarrenr CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl" 8822514Sdarrenr make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(SUNOS5)" "CC=$(CC)" \ 8922514Sdarrenr CFLAGS="$(CFLAGS) -Dsolaris" "LIBS=-lsocket -lnsl" 9022514Sdarrenr 9122514Sdarrenrbsd-bpf : 9222514Sdarrenr make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \ 9353024Sguido "CFLAGS=$(CFLAGS) -DDOSOCKET -DIPSEND" "LLIB=-ll" 9422514Sdarrenr make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \ 9522514Sdarrenr "CFLAGS=$(CFLAGS) -DDOSOCKET" 9622514Sdarrenr make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(BPF) $(BSD)" "CC=$(CC)" \ 9722514Sdarrenr "CFLAGS=$(CFLAGS) -DDOSOCKET" 9822514Sdarrenr 9922514Sdarrenrlinuxrev : 10022514Sdarrenr make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \ 10153024Sguido CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET -DIPSEND" $(LINUXK) 10222514Sdarrenr make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \ 10331183Speter CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK) 10422514Sdarrenr make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(LINUX)" "CC=$(CC)" \ 10531183Speter CFLAGS="$(CFLAGS) $(INC) -DDOSOCKET" $(LINUXK) 10622514Sdarrenr 10722514Sdarrenrlinux10: 10831183Speter make linuxrev 'LINUXK="LINUXK=-DLINUX=0100"' \ 10931183Speter "INC=-I/usr/src/linux/include" "LLIB=-lfl" 11022514Sdarrenr 11131183Speterlinux12: 11231183Speter make linuxrev 'LINUXK="LINUXK=-DLINUX=0102"' "INC=-I/usr/src/linux" \ 11331183Speter "LLIB=-lfl" 11431183Speter 11522514Sdarrenrlinux20: 11631183Speter make linuxrev 'LINUXK="LINUXK=-DLINUX=0200"' \ 11731183Speter "INC=-I/usr/src/linux/include" "LLIB=-lfl" "ELIB=-lelf" 11822514Sdarrenr 11931183Speterultrix : 12031183Speter make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \ 12153024Sguido CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" "LLIB=-ll" 12231183Speter make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \ 12331183Speter CFLAGS="$(CFLAGS)" "LIBS=" 12431183Speter make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(ULTRIX)" "CC=$(CC)" \ 12531183Speter CFLAGS="$(CFLAGS)" "LIBS=" 12622514Sdarrenr 12731183Speterhpux9 : 12831183Speter make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 12953024Sguido CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" 13031183Speter make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 13131183Speter CFLAGS="$(CFLAGS)" "LIBS=" 13231183Speter make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 13331183Speter CFLAGS="$(CFLAGS)" "LIBS=" 13431183Speter 135145510Sdarrenrhpux11 : 136145510Sdarrenr make ipsend "OBJS=$(OBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 137145510Sdarrenr CFLAGS="$(CFLAGS) -DIPSEND" "LIBS=" 138145510Sdarrenr make ipresend "ROBJS=$(ROBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 139145510Sdarrenr CFLAGS="$(CFLAGS)" "LIBS=" 140145510Sdarrenr make iptest "TOBJS=$(TOBJS)" "UNIXOBJS=$(HPUX)" "CC=$(CC)" \ 141145510Sdarrenr CFLAGS="$(CFLAGS)" "LIBS=" 142145510Sdarrenr 14331183Speteripsend: ipf $(OBJS) $(UNIXOBJS) 14431183Speter $(CC) $(OBJS) $(UNIXOBJS) -o $@ $(LIBS) $(LLIB) $(ELIB) 14531183Speter 14622514Sdarrenripresend: $(ROBJS) $(UNIXOBJS) 14731183Speter $(CC) $(ROBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB) 14822514Sdarrenr 14922514Sdarrenriptest: $(TOBJS) $(UNIXOBJS) 15031183Speter $(CC) $(TOBJS) $(UNIXOBJS) -o $@ $(LIBS) $(ELIB) 15122514Sdarrenr 15231183Speteripft_ef.o: ipf/ipft_ef.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 15331183Speter $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_ef.c -o $@ 15431183Speter 15531183Speteripft_hx.o: ipf/ipft_hx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 15631183Speter $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_hx.c -o $@ 15731183Speter 15831183Speteripft_pc.o: ipf/ipft_pc.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 15931183Speter $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_pc.c -o $@ 16031183Speter 16131183Speteripft_sn.o: ipf/ipft_sn.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 16231183Speter $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_sn.c -o $@ 16331183Speter 16431183Speteripft_td.o: ipf/ipft_td.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 16531183Speter $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_td.c -o $@ 16631183Speter 16731183Speteripft_tx.o: ipf/ipft_tx.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 16831183Speter $(CC) $(CFLAGS) $(LINUXK) -c ipf/ipft_tx.c -o $@ 16931183Speter 17031183Speteropt.o: ipf/opt.c ipf/ipt.h ipf/ipf.h ipf/ip_compat.h 17131183Speter $(CC) $(CFLAGS) $(LINUXK) -c ipf/opt.c -o $@ 17231183Speter 17331183Speterinet_addr.o: ipf/inet_addr.c 17431183Speter $(CC) $(CFLAGS) $(LINUXK) -c ipf/inet_addr.c -o $@ 17531183Speter 17622514Sdarrenrclean: 17722514Sdarrenr rm -rf *.o *core a.out ipsend ipresend iptest 17831183Speter if [ -d iplang ]; then (cd iplang; $(MAKE) $(MFLAGS) clean); fi 17931183Speter if [ -d $(TOP)/iplang ]; then (cd $(TOP)/iplang; $(MAKE) $(MFLAGS) clean); fi 18031183Speter 18131183Speterdo-cvs: 18231183Speter find . -type d -name CVS -print | xargs /bin/rm -rf 18331183Speter find . -type f -name .cvsignore -print | xargs /bin/rm -f 184