Makefile revision 37074
122514Sdarrenr# 231183Speter# Copyright (C) 1993-1997 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# 837074Speter# $Id: Makefile,v 2.0.2.26.2.10 1998/05/23 05:01:23 darrenr Exp $ 922514Sdarrenr# 1026119SdarrenrBINDEST=/usr/local/bin 1126119SdarrenrSBINDEST=/sbin 1226119SdarrenrMANDIR=/usr/local/man 1324583Sdarrenr#To test prototyping 1424583Sdarrenr#CC=gcc -Wstrict-prototypes -Wmissing-prototypes -Werror 1522514SdarrenrCC=gcc 1634739Speter#CC=cc -Dconst= 1722514SdarrenrDEBUG=-g 1822514SdarrenrCFLAGS=-I$$(TOP) 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 3322514Sdarrenr# 3422514Sdarrenr# For packets which don't match any pass rules or any block rules, set either 3522514Sdarrenr# FR_PASS or FR_BLOCK (respectively). It defaults to FR_PASS if left 3622514Sdarrenr# undefined. This is ignored for ipftest, which can thus return three 3722514Sdarrenr# results: pass, block and nomatch. This is the sort of "block unless 3822514Sdarrenr# explicitly allowed" type #define switch. 3922514Sdarrenr# 4023279SpeterPOLICY=-DIPF_DEFAULT_PASS=FR_PASS 4122514Sdarrenr# 4222514SdarrenrMFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \ 4331183Speter 'CFLAGS=$(CFLAGS) $(SOLARIS2)' "IPFLKM=$(IPFLKM)" \ 4422514Sdarrenr "IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \ 4531183Speter "SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \ 4631183Speter "CPUDIR=$(CPUDIR)" 4722514Sdarrenr# 4831183SpeterSHELL=/bin/sh 4931183Speter# 5022514Sdarrenr########## ########## ########## ########## ########## ########## ########## 5122514Sdarrenr# 5222514SdarrenrCP=/bin/cp 5322514SdarrenrRM=/bin/rm 5422514SdarrenrCHMOD=/bin/chmod 5522514SdarrenrINSTALL=install 5622514Sdarrenr# 5722514Sdarrenr 5822514Sdarrenrall: 5922514Sdarrenr @echo "Chose one of the following targets for making IP filter:" 6022514Sdarrenr @echo "" 6131183Speter @echo "solaris - auto-selects SunOS4.1.x/Solaris 2.[45]/Solaris2.[45]-x86" 6231183Speter @echo "netbsd - compile for NetBSD" 6331183Speter @echo "openbsd - compile for OpenBSD" 6431183Speter @echo "freebsd - compile for FreeBSD 2.0, 2.1 or earlier" 6531183Speter @echo "freebsd22 - compile for FreeBSD-2.2 or greater" 6631183Speter @echo "bsd - compile for generic 4.4BSD systems" 6722514Sdarrenr @echo "bsdi - compile for BSD/OS" 6831183Speter @echo "irix - compile for SGI IRIX" 6934739Speter @echo "linux - compile for Linux 2.0.31+" 7022514Sdarrenr @echo "" 7122514Sdarrenr 7222514Sdarrenrtests: 7322514Sdarrenr @if [ -d test ]; then (cd test; make) \ 7422514Sdarrenr else echo test directory not present, sorry; fi 7522514Sdarrenr 7626119Sdarrenrinclude: 7731183Speter if [ ! -d netinet -o ! -f netinet/done ] ; then \ 7831183Speter mkdir -p netinet; \ 7931183Speter (cd netinet; ln -s ../*.h .; ln -s ../ip_ftp_pxy.c .); \ 8031183Speter (cd netinet; ln -s ../ipsend/tcpip.h tcpip.h); \ 8131183Speter touch netinet/done; \ 8231183Speter fi 8326119Sdarrenr 8426119Sdarrenrsunos solaris: include 8522514Sdarrenr ./buildsunos 8622514Sdarrenr 8726119Sdarrenrfreebsd22 freebsd30: include 8831183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 8931183Speter -rm -f BSD/$(CPUDIR)/ioconf.h 9026119Sdarrenr @if [ -n $(IPFILKERN) ] ; then \ 9137074Speter if [ -f /sys/$(IPFILKERN)/compile/ioconf.h ] ; then \ 9237074Speter ln -s /sys/$(IPFILKERN)/compile/ioconf.h BSD/$(CPUDIR); \ 9337074Speter else \ 9431183Speter ln -s /sys/$(IPFILKERN)/ioconf.h BSD/$(CPUDIR); \ 9537074Speter fi \ 9626119Sdarrenr elif [ ! -f `uname -v|sed -e 's@^.*:\(/[^: ]*\).*@\1@'`/ioconf.h ] ; then \ 9726119Sdarrenr echo -n "Can't find ioconf.h in "; \ 9826119Sdarrenr echo `uname -v|sed -e 's@^.*:\(/[^: ]*\).*@\1@'`; \ 9924583Sdarrenr exit 1;\ 10026119Sdarrenr else \ 10126119Sdarrenr ln -s `uname -v|sed -e 's@^.*:\(/[^: ]*\).*@\1@'`/ioconf.h BSD/$(CPU) ; \ 10224583Sdarrenr fi 10326119Sdarrenr make freebsd 10422514Sdarrenr 10526119Sdarrenrnetbsd: include 10631183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 10737074Speter (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) 'DLKM=-D_LKM' "ML=mln_ipl.c"; cd ..) 10837074Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) 10926119Sdarrenr 11031183Speteropenbsd openbsd21: include 11131183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 11237074Speter (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) 'DLKM=-D_LKM' "ML=mln_ipl.c"; cd ..) 11337074Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) 11431183Speter 11526119Sdarrenrfreebsd freebsd20 freebsd21: include 11631183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 11737074Speter (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) "ML=mlf_ipl.c"; cd ..) 11837074Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) 11926119Sdarrenr 12026119Sdarrenrbsd: include 12131183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 12237074Speter (cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS); cd ..) 12337074Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) 12422514Sdarrenr 12526119Sdarrenrbsdi bsdos: include 12631183Speter make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)" 12737074Speter (cd BSD/$(CPUDIR); make build "CC=$(CC)" TOP=../.. $(MFLAGS) LKM= ; cd ..) 12837074Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend "CC=$(CC)" TOP=../.. $(MFLAGS); cd ..) 12922514Sdarrenr 13031183Speteririx IRIX: include 13131183Speter make setup "TARGOS=IRIX" "CPUDIR=$(CPUDIR)" 13237074Speter (cd IRIX/$(CPUDIR); smake build TOP=../.. $(MFLAGS); cd ..) 13337074Speter (cd IRIX/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) 13431183Speter 13531183Speterlinux: include 13631183Speter make setup "TARGOS=Linux" "CPUDIR=$(CPUDIR)" 13731183Speter ./buildlinux 13831183Speter 13931183Speterlinuxrev: 14037074Speter (cd Linux/$(CPUDIR); make build TOP=../.. $(MFLAGS) LKM= ; cd ..) 14137074Speter (cd Linux/$(CPUDIR); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) 14231183Speter 14331183Spetersetup: 14431183Speter -if [ ! -d $(TARGOS)/$(CPUDIR) ] ; then mkdir $(TARGOS)/$(CPUDIR); fi 14531183Speter -rm -f $(TARGOS)/$(CPUDIR)/Makefile $(TARGOS)/$(CPUDIR)/Makefile.ipsend 14631183Speter -ln -s ../Makefile $(TARGOS)/$(CPUDIR)/Makefile 14731183Speter -ln -s ../Makefile.ipsend $(TARGOS)/$(CPUDIR)/Makefile.ipsend 14831183Speter 14922514Sdarrenrclean: 15031183Speter ${RM} -rf netinet 15122514Sdarrenr ${RM} -f core *.o ipt fils ipf ipfstat ipftest ipmon if_ipl \ 15222514Sdarrenr vnode_if.h $(LKM) 15337074Speter if [ "`uname -s`" = "SunOS" ]; then (cd SunOS4; make clean); fi 15437074Speter if [ "`uname -s`" = "SunOS" ]; then (cd SunOS5; make clean); fi 15522514Sdarrenr (cd BSD; make clean) 15631183Speter (cd Linux; make clean) 15731183Speter if [ "`uname -s`" = "IRIX" ]; then (cd IRIX; make clean); fi 15822514Sdarrenr [ -d test ] && (cd test; make clean) 15922514Sdarrenr (cd ipsend; make clean) 16022514Sdarrenr 16122514Sdarrenrclean-bsd: 16222514Sdarrenr (cd BSD; make clean) 16322514Sdarrenr 16422514Sdarrenrclean-sunos4: 16522514Sdarrenr (cd SunOS4; make clean) 16622514Sdarrenr 16722514Sdarrenrclean-sunos5: 16822514Sdarrenr (cd SunOS5; make clean) 16922514Sdarrenr 17031183Speterclean-irix: 17131183Speter (cd IRIX; make clean) 17231183Speter 17331183Speterclean-linux: 17431183Speter (cd Linux; make clean) 17531183Speter 17622514Sdarrenrget: 17722514Sdarrenr -@for i in ipf.c ipt.h solaris.c ipf.h kmem.c ipft_ef.c linux.h \ 17822514Sdarrenr ipft_pc.c fil.c ipft_sn.c mln_ipl.c fils.c ipft_td.c \ 17922514Sdarrenr mls_ipl.c ip_compat.h ipl.h opt.c ip_fil.c ipl_ldev.c \ 18022514Sdarrenr parse.c ip_fil.h ipmon.c pcap.h ip_sfil.c ipt.c snoop.h \ 18122514Sdarrenr ip_state.c ip_state.h ip_nat.c ip_nat.h ip_frag.c \ 18222514Sdarrenr ip_frag.h ip_sfil.c misc.c; do \ 18322514Sdarrenr if [ ! -f $$i ] ; then \ 18422514Sdarrenr echo "getting $$i"; \ 18522514Sdarrenr sccs get $$i; \ 18622514Sdarrenr fi \ 18722514Sdarrenr done 18822514Sdarrenr 18924583Sdarrenrsunos4 solaris1: 19031183Speter (cd SunOS4; make build TOP=.. "CC=$(CC)" $(MFLAGS); cd ..) 19131183Speter (cd SunOS4; make -f Makefile.ipsend "CC=$(CC)" TOP=.. $(MFLAGS); cd ..) 19224583Sdarrenr 19324583Sdarrenrsunos5 solaris2: 19437074Speter (cd SunOS5/$(CPUDIR); make build TOP=../.. "CC=$(CC)" $(MFLAGS) "SOLARIS2=$(SOLARIS2)" "CPU=-Dsparc -D__sparc__"; cd ..) 19537074Speter (cd SunOS5/$(CPUDIR); make -f Makefile.ipsend TOP=../.. "CC=$(CC)" $(MFLAGS); cd ..) 19624583Sdarrenr 19724583Sdarrenrsunos5x86 solaris2x86: 19837074Speter (cd SunOS5/$(CPUDIR); make build TOP=../.. "CC=$(CC)" $(MFLAGS) "SOLARIS2=$(SOLARIS2)" "CPU=-Di86pc -Di386 -D__i386__"; cd ..) 19937074Speter (cd SunOS5/$(CPUDIR); make -f Makefile.ipsend TOP=../.. "CC=$(CC)" $(MFLAGS); cd ..) 20024583Sdarrenr 20137074Speterinstall-linux: 20237074Speter (cd Linux/$(CPUDIR); make install "TOP=../.." $(MFLAGS); cd ..) 20337074Speter (cd Linux/$(CPUDIR); make -f Makefile.ipsend INSTALL=$(INSTALL) install "TOP=../.." $(MFLAGS); cd ..) 20437074Speter 20531183Speterinstall-bsd: 20631183Speter (cd BSD/$(CPUDIR); make install "TOP=../.." $(MFLAGS); cd ..) 20731183Speter (cd BSD/$(CPUDIR); make -f Makefile.ipsend INSTALL=$(INSTALL) install "TOP=../.." $(MFLAGS); cd ..) 20826119Sdarrenr 20922514Sdarrenrinstall-sunos4: solaris 21024583Sdarrenr (cd SunOS4; $(MAKE) "CPU=$(CPU) TOP=.." install) 21126119Sdarrenr 21222514Sdarrenrinstall-sunos5: solaris 21324583Sdarrenr (cd SunOS5; $(MAKE) "CPU=$(CPU) TOP=.." install) 21422514Sdarrenr 21531183Speterinstall-irix: irix 21631183Speter (cd IRIX; smake install "CPU=$(CPU) TOP=.." $(MFLAGS)) 21731183Speter 21822514Sdarrenrrcsget: 21922514Sdarrenr -@for i in ipf.c ipt.h solaris.c ipf.h kmem.c ipft_ef.c linux.h \ 22022514Sdarrenr ipft_pc.c fil.c ipft_sn.c mln_ipl.c fils.c ipft_td.c \ 22122514Sdarrenr mls_ipl.c ip_compat.h ipl.h opt.c ip_fil.c ipl_ldev.c \ 22222514Sdarrenr parse.c ip_fil.h ipmon.c pcap.h ip_sfil.c ipt.c snoop.h \ 22322514Sdarrenr ip_state.c ip_state.h ip_nat.c ip_nat.h ip_frag.c \ 22422514Sdarrenr ip_frag.h ip_sfil.c misc.c; do \ 22522514Sdarrenr if [ ! -f $$i ] ; then \ 22622514Sdarrenr echo "getting $$i"; \ 22722514Sdarrenr co $$i; \ 22822514Sdarrenr fi \ 22922514Sdarrenr done 23022514Sdarrenr 23122514Sdarrenrdo-cvs: 23222514Sdarrenr find . -type d -name CVS -print | xargs /bin/rm -rf 23322514Sdarrenr find . -type f -name .cvsignore -print | xargs /bin/rm -f 234