Makefile revision 60841
122514Sdarrenr# 260841Sdarrenr# Copyright (C) 1993-2000 by Darren Reed. 322514Sdarrenr# 431183Speter# Redistribution and use in source and binary forms are permitted 531183Speter# provided that this notice is preserved and due credit is given 631183Speter# to the original author and the contributors. 722514Sdarrenr# 860841Sdarrenr# $Id: Makefile,v 2.11.2.1 2000/04/26 12:14:58 darrenr Exp $ 922514Sdarrenr# 1026119SdarrenrBINDEST=/usr/local/bin 1126119SdarrenrSBINDEST=/sbin 1226119SdarrenrMANDIR=/usr/local/man 1324583Sdarrenr#To test prototyping 1453024SguidoCC=gcc -Wstrict-prototypes -Wmissing-prototypes 1553024Sguido#CC=gcc 1634739Speter#CC=cc -Dconst= 1722514SdarrenrDEBUG=-g 1860841SdarrenrCFLAGS=-I$$(TOP) -g 1924583SdarrenrCPU=`uname -m` 2031183SpeterCPUDIR=`uname -s|sed -e 's@/@@g'`-`uname -r`-`uname -m` 2122514Sdarrenr# 2222514Sdarrenr# To enable this to work as a Loadable Kernel Module... 2322514Sdarrenr# 2422514SdarrenrIPFLKM=-DIPFILTER_LKM 2522514Sdarrenr# 2622514Sdarrenr# To enable logging of blocked/passed packets... 2722514Sdarrenr# 2822514SdarrenrIPFLOG=-DIPFILTER_LOG 2922514Sdarrenr# 3022514Sdarrenr# The facility you wish to log messages from ipmon to syslogd with. 3122514Sdarrenr# 3222514SdarrenrLOGFAC=-DLOGFAC=LOG_LOCAL0 3360841Sdarrenr 3422514Sdarrenr# 3560841Sdarrenr# Uncomment the next 3 lines if you want to view the state table a la top(1) 3660841Sdarrenr# (requires that you have installed ncurses). 3760841Sdarrenr#STATETOP_CFLAGS=-DSTATETOP 3860841Sdarrenr# 3960841Sdarrenr# Where to find the ncurses include files (if not in default path), 4060841Sdarrenr# 4160841Sdarrenr#STATETOP_INC= 4260841Sdarrenr#STATETOP_INC=-I/usr/local/include 4360841Sdarrenr# 4460841Sdarrenr# How to link the ncurses library 4560841Sdarrenr# 4660841Sdarrenr#STATETOP_LIB=-lncurses 4760841Sdarrenr#STATETOP_LIB=-L/usr/local/lib -lncurses 4860841Sdarrenr 4960841Sdarrenr# 5060841Sdarrenr# Uncomment this when building IPv6 capability. 5160841Sdarrenr# 5260841Sdarrenr#INET6=-DUSE_INET6 5360841Sdarrenr# 5422514Sdarrenr# For packets which don't match any pass rules or any block rules, set either 5522514Sdarrenr# FR_PASS or FR_BLOCK (respectively). It defaults to FR_PASS if left 5622514Sdarrenr# undefined. This is ignored for ipftest, which can thus return three 5722514Sdarrenr# results: pass, block and nomatch. This is the sort of "block unless 5822514Sdarrenr# explicitly allowed" type #define switch. 5922514Sdarrenr# 6023279SpeterPOLICY=-DIPF_DEFAULT_PASS=FR_PASS 6122514Sdarrenr# 6260841SdarrenrMFLAGS1='CFLAGS=$(CFLAGS) $(ARCHINC) $(SOLARIS2) $(INET6)' \ 6322514Sdarrenr "IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \ 6431183Speter "SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \ 6560841Sdarrenr "CPUDIR=$(CPUDIR)" 'STATETOP_CFLAGS=$(STATETOP_CFLAGS)' \ 6660841Sdarrenr 'STATETOP_INC=$(STATETOP_INC)' 'STATETOP_LIB=$(STATETOP_LIB)' 6760841SdarrenrDEST="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" 6853024SguidoMFLAGS=$(MFLAGS1) "IPFLKM=$(IPFLKM)" 6922514Sdarrenr# 7031183SpeterSHELL=/bin/sh 7131183Speter# 7222514Sdarrenr########## ########## ########## ########## ########## ########## ########## 7322514Sdarrenr# 7422514SdarrenrCP=/bin/cp 7522514SdarrenrRM=/bin/rm 7622514SdarrenrCHMOD=/bin/chmod 7722514SdarrenrINSTALL=install 7822514Sdarrenr# 7922514Sdarrenr 8022514Sdarrenrall: 8122514Sdarrenr @echo "Chose one of the following targets for making IP filter:" 8222514Sdarrenr @echo "" 8353024Sguido @echo "solaris - auto-selects SunOS4.1.x/Solaris 2.3-6/Solaris2.4-6x86" 8431183Speter @echo "netbsd - compile for NetBSD" 8531183Speter @echo "openbsd - compile for OpenBSD" 8631183Speter @echo "freebsd - compile for FreeBSD 2.0, 2.1 or earlier" 8731183Speter @echo "freebsd22 - compile for FreeBSD-2.2 or greater" 8853024Sguido @echo "freebsd3 - compile for FreeBSD-3.x" 8960841Sdarrenr @echo "freebsd4 - compile for FreeBSD-4.x" 9031183Speter @echo "bsd - compile for generic 4.4BSD systems" 9122514Sdarrenr @echo "bsdi - compile for BSD/OS" 9231183Speter @echo "irix - compile for SGI IRIX" 9334739Speter @echo "linux - compile for Linux 2.0.31+" 9422514Sdarrenr @echo "" 9522514Sdarrenr 9622514Sdarrenrtests: 9722514Sdarrenr @if [ -d test ]; then (cd test; make) \ 9822514Sdarrenr else echo test directory not present, sorry; fi 9922514Sdarrenr 10026119Sdarrenrinclude: 10153024Sguido if [ ! -f netinet/done ] ; then \ 10253024Sguido (cd netinet; ln -s ../*.h .; ln -s ../ip_ftp_pxy.c .; ln -s ../ip_rcmd_pxy.c .; ln -s ../ip_raudio_pxy.c .); \ 10331183Speter (cd netinet; ln -s ../ipsend/tcpip.h tcpip.h); \ 10431183Speter touch netinet/done; \ 10531183Speter fi 10626119Sdarrenr 10726119Sdarrenrsunos solaris: include 10822514Sdarrenr ./buildsunos 10922514Sdarrenr 11053024Sguidofreebsd22: include 11131183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 11231183Speter -rm -f BSD/$(CPUDIR)/ioconf.h 11326119Sdarrenr @if [ -n $(IPFILKERN) ] ; then \ 11453024Sguido if [ -f /sys/compile/$(IPFILKERN)/ioconf.h ] ; then \ 11553024Sguido ln -s /sys/compile/$(IPFILKERN)/ioconf.h BSD/$(CPUDIR); \ 11637074Speter else \ 11731183Speter ln -s /sys/$(IPFILKERN)/ioconf.h BSD/$(CPUDIR); \ 11837074Speter fi \ 11926119Sdarrenr elif [ ! -f `uname -v|sed -e 's@^.*:\(/[^: ]*\).*@\1@'`/ioconf.h ] ; then \ 12026119Sdarrenr echo -n "Can't find ioconf.h in "; \ 12126119Sdarrenr echo `uname -v|sed -e 's@^.*:\(/[^: ]*\).*@\1@'`; \ 12224583Sdarrenr exit 1;\ 12326119Sdarrenr else \ 12426119Sdarrenr ln -s `uname -v|sed -e 's@^.*:\(/[^: ]*\).*@\1@'`/ioconf.h BSD/$(CPU) ; \ 12524583Sdarrenr fi 12626119Sdarrenr make freebsd 12722514Sdarrenr 12860841Sdarrenrfreebsd4: include 12960841Sdarrenr make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 13060841Sdarrenr (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) "ML=mlfk_ipl.c" "MLD=mlfk_ipl.c" "LKM=ipf.ko" "DLKM=-DKLD_MODULE"; cd ..) 13160841Sdarrenr (cd BSD/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS1); cd ..) 13260841Sdarrenr 13353024Sguidofreebsd3 freebsd30: include 13453024Sguido make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 13553024Sguido (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS1) "ML=mlf_ipl.c" LKM= ; cd ..) 13653024Sguido (cd BSD/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS1); cd ..) 13753024Sguido 13826119Sdarrenrnetbsd: include 13931183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 14037074Speter (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) 'DLKM=-D_LKM' "ML=mln_ipl.c"; cd ..) 14137074Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) 14226119Sdarrenr 14331183Speteropenbsd openbsd21: include 14431183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 14537074Speter (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) 'DLKM=-D_LKM' "ML=mln_ipl.c"; cd ..) 14637074Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) 14731183Speter 14826119Sdarrenrfreebsd freebsd20 freebsd21: include 14931183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 15037074Speter (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) "ML=mlf_ipl.c"; cd ..) 15137074Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) 15226119Sdarrenr 15326119Sdarrenrbsd: include 15431183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 15537074Speter (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS); cd ..) 15637074Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) 15722514Sdarrenr 15826119Sdarrenrbsdi bsdos: include 15931183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 16037074Speter (cd BSD/$(CPUDIR); make build "CC=$(CC)" TOP=../.. $(MFLAGS) LKM= ; cd ..) 16137074Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend "CC=$(CC)" TOP=../.. $(MFLAGS); cd ..) 16222514Sdarrenr 16331183Speteririx IRIX: include 16431183Speter make setup "TARGOS=IRIX" "CPUDIR=$(CPUDIR)" 16560841Sdarrenr (cd IRIX/$(CPUDIR); smake build TOP=../.. $(DEST) $(MFLAGS); cd ..) 16660841Sdarrenr (cd IRIX/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(DEST) $(MFLAGS); cd ..) 16731183Speter 16831183Speterlinux: include 16931183Speter make setup "TARGOS=Linux" "CPUDIR=$(CPUDIR)" 17031183Speter ./buildlinux 17131183Speter 17231183Speterlinuxrev: 17360841Sdarrenr (cd Linux/$(CPUDIR); make build TOP=../.. $(DEST) $(MFLAGS) LKM= ; cd ..) 17460841Sdarrenr (cd Linux/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(DEST) $(MFLAGS); cd ..) 17531183Speter 17631183Spetersetup: 17731183Speter -if [ ! -d $(TARGOS)/$(CPUDIR) ] ; then mkdir $(TARGOS)/$(CPUDIR); fi 17831183Speter -rm -f $(TARGOS)/$(CPUDIR)/Makefile $(TARGOS)/$(CPUDIR)/Makefile.ipsend 17931183Speter -ln -s ../Makefile $(TARGOS)/$(CPUDIR)/Makefile 18031183Speter -ln -s ../Makefile.ipsend $(TARGOS)/$(CPUDIR)/Makefile.ipsend 18131183Speter 18253024Sguidoclean: clean-include 18322514Sdarrenr ${RM} -f core *.o ipt fils ipf ipfstat ipftest ipmon if_ipl \ 18453024Sguido vnode_if.h $(LKM) *~ 18560841Sdarrenr (cd SunOS4; make clean) 18660841Sdarrenr (cd SunOS5; make clean) 18722514Sdarrenr (cd BSD; make clean) 18831183Speter (cd Linux; make clean) 18931183Speter if [ "`uname -s`" = "IRIX" ]; then (cd IRIX; make clean); fi 19022514Sdarrenr [ -d test ] && (cd test; make clean) 19122514Sdarrenr (cd ipsend; make clean) 19222514Sdarrenr 19353024Sguidoclean-include: 19453024Sguido sh -c 'cd netinet; for i in *; do if [ -h $$i ] ; then /bin/rm -f $$i; fi; done' 19553024Sguido ${RM} -f netinet/done 19653024Sguido 19753024Sguidoclean-bsd: clean-include 19822514Sdarrenr (cd BSD; make clean) 19922514Sdarrenr 20053024Sguidoclean-sunos4: clean-include 20122514Sdarrenr (cd SunOS4; make clean) 20222514Sdarrenr 20353024Sguidoclean-sunos5: clean-include 20422514Sdarrenr (cd SunOS5; make clean) 20522514Sdarrenr 20653024Sguidoclean-irix: clean-include 20731183Speter (cd IRIX; make clean) 20831183Speter 20953024Sguidoclean-linux: clean-include 21031183Speter (cd Linux; make clean) 21131183Speter 21222514Sdarrenrget: 21322514Sdarrenr -@for i in ipf.c ipt.h solaris.c ipf.h kmem.c ipft_ef.c linux.h \ 21422514Sdarrenr ipft_pc.c fil.c ipft_sn.c mln_ipl.c fils.c ipft_td.c \ 21522514Sdarrenr mls_ipl.c ip_compat.h ipl.h opt.c ip_fil.c ipl_ldev.c \ 21622514Sdarrenr parse.c ip_fil.h ipmon.c pcap.h ip_sfil.c ipt.c snoop.h \ 21722514Sdarrenr ip_state.c ip_state.h ip_nat.c ip_nat.h ip_frag.c \ 21822514Sdarrenr ip_frag.h ip_sfil.c misc.c; do \ 21922514Sdarrenr if [ ! -f $$i ] ; then \ 22022514Sdarrenr echo "getting $$i"; \ 22122514Sdarrenr sccs get $$i; \ 22222514Sdarrenr fi \ 22322514Sdarrenr done 22422514Sdarrenr 22524583Sdarrenrsunos4 solaris1: 22660841Sdarrenr (cd SunOS4; make build TOP=.. "CC=$(CC)" $(DEST) $(MFLAGS); cd ..) 22760841Sdarrenr (cd SunOS4; make -f Makefile.ipsend "CC=$(CC)" TOP=.. $(DEST) $(MFLAGS); cd ..) 22824583Sdarrenr 22924583Sdarrenrsunos5 solaris2: 23060841Sdarrenr (cd SunOS5/$(CPUDIR); make build TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS) "SOLARIS2=$(SOLARIS2)" "CPU=-Dsparc -D__sparc__"; cd ..) 23160841Sdarrenr (cd SunOS5/$(CPUDIR); make -f Makefile.ipsend TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS); cd ..) 23224583Sdarrenr 23324583Sdarrenrsunos5x86 solaris2x86: 23460841Sdarrenr (cd SunOS5/$(CPUDIR); make build TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS) "SOLARIS2=$(SOLARIS2)" "CPU=-Di86pc -Di386 -D__i386__"; cd ..) 23560841Sdarrenr (cd SunOS5/$(CPUDIR); make -f Makefile.ipsend TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS); cd ..) 23624583Sdarrenr 23737074Speterinstall-linux: 23860841Sdarrenr (cd Linux/$(CPUDIR); make install "TOP=../.." $(DEST) $(MFLAGS); cd ..) 23960841Sdarrenr (cd Linux/$(CPUDIR); make -f Makefile.ipsend INSTALL=$(INSTALL) install "TOP=../.." $(DEST) $(MFLAGS); cd ..) 24037074Speter 24131183Speterinstall-bsd: 24231183Speter (cd BSD/$(CPUDIR); make install "TOP=../.." $(MFLAGS); cd ..) 24331183Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend INSTALL=$(INSTALL) install "TOP=../.." $(MFLAGS); cd ..) 24426119Sdarrenr 24522514Sdarrenrinstall-sunos4: solaris 24624583Sdarrenr (cd SunOS4; $(MAKE) "CPU=$(CPU) TOP=.." install) 24726119Sdarrenr 24822514Sdarrenrinstall-sunos5: solaris 24924583Sdarrenr (cd SunOS5; $(MAKE) "CPU=$(CPU) TOP=.." install) 25022514Sdarrenr 25131183Speterinstall-irix: irix 25260841Sdarrenr (cd IRIX; smake install "CPU=$(CPU) TOP=.." $(DEST) $(MFLAGS)) 25331183Speter 25422514Sdarrenrrcsget: 25522514Sdarrenr -@for i in ipf.c ipt.h solaris.c ipf.h kmem.c ipft_ef.c linux.h \ 25622514Sdarrenr ipft_pc.c fil.c ipft_sn.c mln_ipl.c fils.c ipft_td.c \ 25722514Sdarrenr mls_ipl.c ip_compat.h ipl.h opt.c ip_fil.c ipl_ldev.c \ 25822514Sdarrenr parse.c ip_fil.h ipmon.c pcap.h ip_sfil.c ipt.c snoop.h \ 25922514Sdarrenr ip_state.c ip_state.h ip_nat.c ip_nat.h ip_frag.c \ 26022514Sdarrenr ip_frag.h ip_sfil.c misc.c; do \ 26122514Sdarrenr if [ ! -f $$i ] ; then \ 26222514Sdarrenr echo "getting $$i"; \ 26322514Sdarrenr co $$i; \ 26422514Sdarrenr fi \ 26522514Sdarrenr done 26622514Sdarrenr 26722514Sdarrenrdo-cvs: 26822514Sdarrenr find . -type d -name CVS -print | xargs /bin/rm -rf 26922514Sdarrenr find . -type f -name .cvsignore -print | xargs /bin/rm -f 270