122514Sdarrenr#
280486Sdarrenr# Copyright (C) 1993-2001 by Darren Reed.
322514Sdarrenr#
4145519Sdarrenr# Redistribution and use in source and binary forms are permitted
5145519Sdarrenr# provided that this notice is preserved and due credit is given
6145519Sdarrenr# to the original author and the contributors.
722514Sdarrenr#
8113109Sdarrenr# $FreeBSD$
9172776Sdarrenr# Id: Makefile,v 2.76.2.24 2007/09/26 10:04:03 darrenr Exp $
1022514Sdarrenr#
11145519SdarrenrSHELL=/bin/sh
1226119SdarrenrBINDEST=/usr/local/bin
1326119SdarrenrSBINDEST=/sbin
1426119SdarrenrMANDIR=/usr/local/man
1524583Sdarrenr#To test prototyping
16145519Sdarrenr#CC=gcc -Wstrict-prototypes -Wmissing-prototypes
17145519Sdarrenr# -Wunused -Wuninitialized
1853024Sguido#CC=gcc
1934739Speter#CC=cc -Dconst=
2022514SdarrenrDEBUG=-g
21145519Sdarrenr# -O
22145519SdarrenrCFLAGS=-I$$(TOP) -D_BSD_SOURCE
2324583SdarrenrCPU=`uname -m`
2431183SpeterCPUDIR=`uname -s|sed -e 's@/@@g'`-`uname -r`-`uname -m`
25145519SdarrenrOBJ=.
2622514Sdarrenr#
2722514Sdarrenr# To enable this to work as a Loadable Kernel Module...
2822514Sdarrenr#
2922514SdarrenrIPFLKM=-DIPFILTER_LKM
3022514Sdarrenr#
3122514Sdarrenr# To enable logging of blocked/passed packets...
3222514Sdarrenr#
3322514SdarrenrIPFLOG=-DIPFILTER_LOG
3422514Sdarrenr#
35145519Sdarrenr# To enable loading filter rules compiled to C code...
36145519Sdarrenr#
37145519Sdarrenr#COMPIPF=-DIPFILTER_COMPILED
38145519Sdarrenr#
39145519Sdarrenr# To enable synchronisation between IPFilter hosts
40145519Sdarrenr#
41145519Sdarrenr#SYNC=-DIPFILTER_SYNC
42145519Sdarrenr#
43145519Sdarrenr# To enable extended IPFilter functionality
44145519Sdarrenr#
45145519SdarrenrLOOKUP=-DIPFILTER_LOOKUP -DIPFILTER_SCAN
46145519Sdarrenr#
4722514Sdarrenr# The facility you wish to log messages from ipmon to syslogd with.
4822514Sdarrenr#
49113109SdarrenrLOGFAC=-DLOGFAC=LOG_SECURITY
50145519Sdarrenr#
51145519Sdarrenr# To enable rules to be written with BPF syntax, uncomment these two lines.
52145519Sdarrenr#
53145519Sdarrenr# WARNING: If you're building a commercial product based on IPFilter, using
54145519Sdarrenr#          this options *may* infringe at least one patent held by CheckPoint
55145519Sdarrenr#          (5,606,668.)
56145519Sdarrenr#
57145519Sdarrenr#IPFBPF=-DIPFILTER_BPF -I/usr/local/include
58145519Sdarrenr#LIBBPF=-L/usr/local/lib -lpcap
59145519Sdarrenr#
60145519Sdarrenr# HP-UX and Solaris require this uncommented for BPF.
61145519Sdarrenr#
62145519Sdarrenr#BPFILTER=bpf_filter.o
63145519Sdarrenr#
64145519Sdarrenr# LINUXKERNEL is the path to the top of your Linux kernel source tree.
65145519Sdarrenr# By default IPFilter looks for /usr/src/linux, but you may have to change
66145519Sdarrenr# it to /usr/src/linux-2.4 or similar.
67145519Sdarrenr#
68145519SdarrenrLINUXKERNEL=/usr/src/linux
69145519SdarrenrLINUX=`uname -r | awk -F. ' { printf"%d",$$1;for(i=1;i<NF&&i<3;i++){printf("%02d",$$(i+1));}}'`
7060841Sdarrenr
7122514Sdarrenr#
72145519Sdarrenr# All of the compile-time options are here, used for compiling the userland
73145519Sdarrenr# tools for regression testing.  Well, all except for IPFILTER_LKM, of course.
74145519Sdarrenr#
75145519SdarrenrALLOPTS=-DIPFILTER_LOG -DIPFILTER_LOOKUP \
76145519Sdarrenr        -DIPFILTER_SCAN -DIPFILTER_SYNC -DIPFILTER_CKSUM
77145519Sdarrenr
78145519Sdarrenr#
7960841Sdarrenr# Uncomment the next 3 lines if you want to view the state table a la top(1)
8060841Sdarrenr# (requires that you have installed ncurses).
81145519Sdarrenr#STATETOP_CFLAGS=-DSTATETOP
8260841Sdarrenr#
8360841Sdarrenr# Where to find the ncurses include files (if not in default path), 
8460841Sdarrenr#
8560841Sdarrenr#STATETOP_INC=
8660841Sdarrenr#STATETOP_INC=-I/usr/local/include
8760841Sdarrenr#
8860841Sdarrenr# How to link the ncurses library
8960841Sdarrenr#
90145519Sdarrenr#STATETOP_LIB=-lncurses
9160841Sdarrenr#STATETOP_LIB=-L/usr/local/lib -lncurses
9260841Sdarrenr
9360841Sdarrenr#
9460841Sdarrenr# Uncomment this when building IPv6 capability.
9560841Sdarrenr#
9660841Sdarrenr#INET6=-DUSE_INET6
9760841Sdarrenr#
9822514Sdarrenr# For packets which don't match any pass rules or any block rules, set either
9922514Sdarrenr# FR_PASS or FR_BLOCK (respectively).  It defaults to FR_PASS if left
10022514Sdarrenr# undefined.  This is ignored for ipftest, which can thus return three
10122514Sdarrenr# results: pass, block and nomatch.  This is the sort of "block unless
10222514Sdarrenr# explicitly allowed" type #define switch.
10322514Sdarrenr#
10423279SpeterPOLICY=-DIPF_DEFAULT_PASS=FR_PASS
10522514Sdarrenr#
106145519SdarrenrMFLAGS1='CFLAGS=$(CFLAGS) $(ARCHINC) $(SOLARIS2) $(SGIREV) $(INET6)' \
10722514Sdarrenr	"IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \
10831183Speter	"SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \
109145519Sdarrenr        "LIBBPF=$(LIBBPF)" "CPUDIR=$(CPUDIR)" "IPFBPF=$(IPFBPF)" \
110145519Sdarrenr        'STATETOP_CFLAGS=$(STATETOP_CFLAGS)' "BPFILTER=$(BPFILTER)" \
11164588Sdarrenr        'STATETOP_INC=$(STATETOP_INC)' 'STATETOP_LIB=$(STATETOP_LIB)' \
112145519Sdarrenr	"BITS=$(BITS)" "OBJ=$(OBJ)" "LOOKUP=$(LOOKUP)" "COMPIPF=$(COMPIPF)" \
113145519Sdarrenr	'SYNC=$(SYNC)' 'ALLOPTS=$(ALLOPTS)' 'LIBBPF=$(LIBBPF)'
11453024SguidoMFLAGS=$(MFLAGS1) "IPFLKM=$(IPFLKM)"
115145519SdarrenrMACHASSERT=`/bin/ls -1 /usr/sys/*/mach_assert.h | head -1`
11622514Sdarrenr#
11731183SpeterSHELL=/bin/sh
11831183Speter#
11922514Sdarrenr########## ########## ########## ########## ########## ########## ##########
12022514Sdarrenr#
12122514SdarrenrCP=/bin/cp
12222514SdarrenrRM=/bin/rm
12322514SdarrenrCHMOD=/bin/chmod
12422514SdarrenrINSTALL=install
12522514Sdarrenr#
12622514Sdarrenr
12722514Sdarrenrall:
12822514Sdarrenr	@echo "Chose one of the following targets for making IP filter:"
12922514Sdarrenr	@echo ""
13053024Sguido	@echo "solaris	- auto-selects SunOS4.1.x/Solaris 2.3-6/Solaris2.4-6x86"
13131183Speter	@echo "netbsd	- compile for NetBSD"
13231183Speter	@echo "openbsd	- compile for OpenBSD"
133130890Sdarrenr	@echo "freebsd20	- compile for FreeBSD 2.0, 2.1 or earlier"
13431183Speter	@echo "freebsd22	- compile for FreeBSD-2.2 or greater"
135172776Sdarrenr	@echo "freebsd  - compile for all other versions of FreeBSD"
13631183Speter	@echo "bsd	- compile for generic 4.4BSD systems"
13722514Sdarrenr	@echo "bsdi	- compile for BSD/OS"
13831183Speter	@echo "irix	- compile for SGI IRIX"
139145519Sdarrenr	@echo "hpux	- compile for HP-UX 11.00"
140145519Sdarrenr	@echo "osf	- compile for OSF/Tru64 5.1"
14122514Sdarrenr	@echo ""
14222514Sdarrenr
14322514Sdarrenrtests:
14422514Sdarrenr	@if [ -d test ]; then (cd test; make) \
14522514Sdarrenr	else echo test directory not present, sorry; fi
14622514Sdarrenr
147145519Sdarrenrretest:
148145519Sdarrenr	@if [ -d test ]; then (cd test; make clean && make) \
149145519Sdarrenr	else echo test directory not present, sorry; fi
150145519Sdarrenr
15126119Sdarrenrinclude:
152172776Sdarrenr	-mkdir -p net netinet
15353024Sguido	if [ ! -f netinet/done ] ; then \
154145519Sdarrenr		(cd netinet; ln -s ../*.h .; ln -s ../ip_*_pxy.c .;); \
15531183Speter		(cd netinet; ln -s ../ipsend/tcpip.h tcpip.h); \
15631183Speter		touch netinet/done; \
15731183Speter	fi
158145519Sdarrenr	-(cd netinet; ln -s ../ip_rules.h ip_rules.h)
159145519Sdarrenr	if [ ! -f net/done ] ; then \
160145519Sdarrenr		(cd net; ln -s ../radix_ipf.h .; ); \
161145519Sdarrenr		touch net/done; \
162145519Sdarrenr	fi
16326119Sdarrenr
16426119Sdarrenrsunos solaris: include
165145519Sdarrenr	MAKE="$(MAKE)" MAKEFLAGS="$(MAKEFLAGS)" BPFILTER=$(BPFILTER) \
166145519Sdarrenr		CC="$(CC)" DEBUG="$(DEBUG)" ./buildsunos
16722514Sdarrenr
168172776Sdarrenrfreebsd:
169172776Sdarrenr	make freebsd`uname -r|cut -c1`
170172776Sdarrenr
17153024Sguidofreebsd22: include
17231183Speter	make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)"
17331183Speter	-rm -f BSD/$(CPUDIR)/ioconf.h
174145519Sdarrenr	-if [ x$(IPFILKERN) != x ] ; then \
17553024Sguido		if [ -f /sys/compile/$(IPFILKERN)/ioconf.h ] ; then \
176145519Sdarrenr			ln -s /sys/compile/$(IPFILKERN)/ioconf.h BSD/$$y; \
17737074Speter		else \
178145519Sdarrenr			ln -s /sys/$(IPFILKERN)/ioconf.h BSD/$$y; \
17937074Speter		fi \
18026119Sdarrenr	else \
181145519Sdarrenr		x=`uname -v|sed -e 's@^.*:\(/[^: ]*\).*$$@\1/ioconf.h@'`; \
182145519Sdarrenr		y=`uname -s|sed -e 's@/@@g'`-`uname -r`-`uname -m`; \
183145519Sdarrenr		if [ ! -f $$x ] ; then \
184145519Sdarrenr			echo -n "Can't find ioconf.h at $$x "; \
185145519Sdarrenr			exit 1;\
186145519Sdarrenr		else \
187145519Sdarrenr			ln -s $$x BSD/$$y ; \
188145519Sdarrenr		fi \
18924583Sdarrenr	fi
190130890Sdarrenr	make freebsd20
19122514Sdarrenr
192170268Sdarrenrfreebsd5 freebsd6 freebsd7: include
193145519Sdarrenr	if [ x$(INET6) = x ] ; then \
19463516Sdarrenr		echo "#undef INET6" > opt_inet6.h; \
19563516Sdarrenr	else \
19663516Sdarrenr		echo "#define INET6" > opt_inet6.h; \
19763516Sdarrenr	fi
198153881Sguido	if [ "x$(IPFBPF)" = "x" ] ; then \
199153881Sguido		echo "#undef NBPF" > opt_bpf.h; \
200153881Sguido		echo "#undef NBPFILTER" > opt_bpf.h; \
201153881Sguido		echo "#undef DEV_BPF" > opt_bpf.h; \
202153881Sguido	else \
203153881Sguido		echo "#define NBPF" > opt_bpf.h; \
204153881Sguido		echo "#define NBPFILTER" > opt_bpf.h; \
205153881Sguido		echo "#define DEV_BPF" > opt_bpf.h; \
206153881Sguido	fi
207145519Sdarrenr	if [ x$(ENABLE_PFIL) = x ] ; then \
208145519Sdarrenr		echo "#undef PFIL_HOOKS" > opt_pfil.h; \
209145519Sdarrenr	else \
210145519Sdarrenr		echo "#define PFIL_HOOKS" > opt_pfil.h; \
211145519Sdarrenr	fi
212145519Sdarrenr
21360841Sdarrenr	make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)"
214145519Sdarrenr	(cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) "ML=mlfk_ipl.c" "MLD=mlfk_ipl.c" "LKM=ipf.ko.5" "LKMR=ipfrule.ko.5" "DLKM=-DKLD_MODULE" "MLR=mlfk_rule.o"; cd ..)
215145519Sdarrenr	(cd BSD/$(CPUDIR); make -f Makefile.ipsend build TOP=../.. $(MFLAGS1); cd ..)
21660841Sdarrenr
217145519Sdarrenrfreebsd4 : include
218145519Sdarrenr	if [ x$(INET6) = x ] ; then \
219145519Sdarrenr		echo "#undef INET6" > opt_inet6.h; \
220145519Sdarrenr	else \
221145519Sdarrenr		echo "#define INET6" > opt_inet6.h; \
222145519Sdarrenr	fi
223145519Sdarrenr	make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)"
224145519Sdarrenr	(cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) "ML=mlfk_ipl.c" "MLD=mlfk_ipl.c" "LKM=ipf.ko" "LKMR=ipfrule.ko" "DLKM=-DKLD_MODULE" "MLR=mlfk_rule.o"; cd ..)
225145519Sdarrenr	(cd BSD/$(CPUDIR); make -f Makefile.ipsend build TOP=../.. $(MFLAGS1); cd ..)
226145519Sdarrenr
22753024Sguidofreebsd3 freebsd30: include
22853024Sguido	make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)"
229145519Sdarrenr	(cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS1) "ML=mlf_ipl.c" "MLR=mlf_rule.o" LKM= LKMR=; cd ..)
230145519Sdarrenr	(cd BSD/$(CPUDIR); make -f Makefile.ipsend build TOP=../.. $(MFLAGS1); cd ..)
23153024Sguido
23226119Sdarrenrnetbsd: include
23331183Speter	make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)"
234170268Sdarrenr	@if [ ! -d /sys -o ! -d /sys/arch ] ; then \
235170268Sdarrenr		echo "*****************************************************"; \
236170268Sdarrenr		echo "*                                                   *"; \
237170268Sdarrenr		echo "* Please extract source code to create /sys and     *";\
238170268Sdarrenr		echo "* /sys/arch and run 'config GENERIC'                *"; \
239170268Sdarrenr		echo "*                                                   *"; \
240170268Sdarrenr		echo "*****************************************************"; \
241170268Sdarrenr		exit 1; \
242170268Sdarrenr	fi
243145519Sdarrenr	(cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) 'DLKM=-D_LKM' "ML=mln_ipl.c" LKMR= "MLR=mln_rule.o"; cd ..)
244145519Sdarrenr	(cd BSD/$(CPUDIR); make -f Makefile.ipsend build TOP=../.. $(MFLAGS); cd ..)
24526119Sdarrenr
246145519Sdarrenropenbsd: include
24731183Speter	make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)"
248145519Sdarrenr	(cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) 'DLKM=-D_LKM' "ML=mlo_ipl.c" LKMR= "MLR=mlo_rule.o"; cd ..)
249145519Sdarrenr	(cd BSD/$(CPUDIR); make -f Makefile.ipsend build TOP=../.. $(MFLAGS); cd ..)
25031183Speter
251130890Sdarrenrfreebsd20 freebsd21: include
25231183Speter	make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)"
253145519Sdarrenr	(cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) "ML=mlf_ipl.c" "MLR=mlf_rule.o"; cd ..)
254145519Sdarrenr	(cd BSD/$(CPUDIR); make -f Makefile.ipsend build TOP=../.. $(MFLAGS); cd ..)
25526119Sdarrenr
256145519Sdarrenrosf tru64: null include
257145519Sdarrenr	make setup "TARGOS=OSF" "CPUDIR=`OSF/cpurev`"
258145519Sdarrenr	(cd OSF/`OSF/cpurev`; make build TRU64=`uname -v` TOP=../.. "DEBUG=-g" $(MFLAGS) "MACHASSERT=$(MACHASSERT)" "OSREV=`../cpurev`"; cd ..)
259145519Sdarrenr	(cd OSF/`OSF/cpurev`; make -f Makefile.ipsend build TRU64=`uname -v` TOP=../.. $(MFLAGS) "OSREV=`../cpurev`"; cd ..)
260145519Sdarrenr
261153881Sguidoaix: null include
262153881Sguido	make setup "TARGOS=AIX" "CPUDIR=`AIX/cpurev`"
263153881Sguido	(cd AIX/`AIX/cpurev`; make build AIX=`uname -v` TOP=../.. "DEBUG=-g" $(MFLAGS) "OSREV=`../cpurev`" BITS=`../bootbits.sh`; cd ..)
264153881Sguido#	(cd AIX/`AIX/cpurev`; make -f Makefile.ipsend build AIX=`uname -v` TOP=../.. $(MFLAGS) "OSREV=`../cpurev`"; cd ..)
265153881Sguido
26626119Sdarrenrbsd: include
26731183Speter	make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)"
268145519Sdarrenr	(cd BSD/$(CPUDIR); make build TOP=../.. $(MFLAGS) 'DLKM=-D_LKM' "ML=mln_ipl.c" "MLR=mln_rule.o"; cd ..)
269145519Sdarrenr	(cd BSD/$(CPUDIR); make -f Makefile.ipsend build TOP=../.. $(MFLAGS); cd ..)
27022514Sdarrenr
27126119Sdarrenrbsdi bsdos: include
27231183Speter	make setup "TARGOS=BSD" "CPUDIR=$(CPUDIR)"
273145519Sdarrenr	(cd BSD/$(CPUDIR); make build "CC=$(CC)" TOP=../.. $(MFLAGS) LKM= LKMR= ; cd ..)
274145519Sdarrenr	(cd BSD/$(CPUDIR); make -f Makefile.ipsend build "CC=$(CC)" TOP=../.. $(MFLAGS); cd ..)
27522514Sdarrenr
27631183Speteririx IRIX: include
277145519Sdarrenr	make setup TARGOS=IRIX CPUDIR=`IRIX/cpurev`
278145519Sdarrenr	if [ "x${SGIREV}" = "x" ] ; then \
279145519Sdarrenr		make irix "SGIREV=-D_KMEMUSER -DIRIX=`IRIX/getrev`"; \
280145519Sdarrenr	else \
281145519Sdarrenr		(cd IRIX/`IRIX/cpurev`; smake -l -J 1 build TOP=../.. $(DEST) $(MFLAGS) IRIX=`../getrev` SGI=$$(IRIX) CPUDIR=`../cpurev`; cd ..); \
282145519Sdarrenr		(cd IRIX/`IRIX/cpurev`; make -f Makefile.ipsend build TOP=../.. $(DEST) $(MFLAGS) IRIX=`../getrev` SGI=$$(IRIX) CPUDIR=`../cpurev`; cd ..); \
283145519Sdarrenr	fi
28431183Speter
28531183Spetersetup:
28631183Speter	-if [ ! -d $(TARGOS)/$(CPUDIR) ] ; then mkdir $(TARGOS)/$(CPUDIR); fi
28731183Speter	-rm -f $(TARGOS)/$(CPUDIR)/Makefile $(TARGOS)/$(CPUDIR)/Makefile.ipsend
28831183Speter	-ln -s ../Makefile $(TARGOS)/$(CPUDIR)/Makefile
28931183Speter	-ln -s ../Makefile.ipsend $(TARGOS)/$(CPUDIR)/Makefile.ipsend
290145519Sdarrenr	-if [ -f $(TARGOS)/Makefile.common ] ; then \
291145519Sdarrenr		rm -f $(TARGOS)/$(CPUDIR)/Makefile.common; \
292145519Sdarrenr		ln -s ../Makefile.common $(TARGOS)/$(CPUDIR)/Makefile.common;\
293145519Sdarrenr	fi
29431183Speter
29553024Sguidoclean: clean-include
296145519Sdarrenr	/bin/rm -rf h y.output
29722514Sdarrenr	${RM} -f core *.o ipt fils ipf ipfstat ipftest ipmon if_ipl \
29864588Sdarrenr	vnode_if.h $(LKM) *~
299145519Sdarrenr	/bin/rm -rf sparcv7 sparcv9 mdbgen_build
300145519Sdarrenr	(cd SunOS4; $(MAKE) TOP=.. clean)
301145519Sdarrenr	-(cd SunOS5; $(MAKE) TOP=.. clean)
302145519Sdarrenr	(cd BSD; $(MAKE) TOP=.. clean)
303145519Sdarrenr	(cd HPUX; $(MAKE) BITS=32 TOP=.. clean)
304145519Sdarrenr	(cd Linux; $(MAKE) TOP=.. clean)
305145519Sdarrenr	(cd OSF; $(MAKE) TOP=.. clean)
306153881Sguido	(cd AIX; $(MAKE) TOP=.. clean)
307145519Sdarrenr	if [ "`uname -s`" = "IRIX" ]; then (cd IRIX; $(MAKE) clean); fi
308145519Sdarrenr	[ -d test ] && (cd test; $(MAKE) clean)
309145519Sdarrenr	(cd ipsend; $(MAKE) clean)
31022514Sdarrenr
31153024Sguidoclean-include:
312145519Sdarrenr	sh -c 'if [ -d netinet ] ; then cd netinet; for i in *; do if [ -h $$i ] ; then /bin/rm -f $$i; fi; done fi'
313145519Sdarrenr	sh -c 'if [ -d net ] ; then cd net; for i in *; do if [ -h $$i ] ; then /bin/rm -f $$i; fi; done fi'
314145519Sdarrenr	${RM} -f netinet/done net/done
31553024Sguido
31653024Sguidoclean-bsd: clean-include
317145519Sdarrenr	(cd BSD; make TOP=.. clean)
31822514Sdarrenr
319145519Sdarrenrclean-hpux: clean-include
320145519Sdarrenr	(cd HPUX; $(MAKE) BITS=32 clean)
321145519Sdarrenr
322145519Sdarrenrclean-osf: clean-include
323145519Sdarrenr	(cd OSF; make clean)
324145519Sdarrenr
325153881Sguidoclean-aix: clean-include
326153881Sguido	(cd AIX; make clean)
327153881Sguido
328145519Sdarrenrclean-linux: clean-include
329145519Sdarrenr	(cd Linux; make clean)
330145519Sdarrenr
33153024Sguidoclean-sunos4: clean-include
33222514Sdarrenr	(cd SunOS4; make clean)
33322514Sdarrenr
33453024Sguidoclean-sunos5: clean-include
335145519Sdarrenr	(cd SunOS5; $(MAKE) clean)
336145519Sdarrenr	/bin/rm -rf sparcv?
33722514Sdarrenr
33853024Sguidoclean-irix: clean-include
339145519Sdarrenr	(cd IRIX; $(MAKE) clean)
34031183Speter
341145519Sdarrenrh/xti.h:
342145519Sdarrenr	mkdir -p h
343145519Sdarrenr	ln -s /usr/include/sys/xti.h h
34431183Speter
345145519Sdarrenrhpux: include h/xti.h
346145519Sdarrenr	make setup CPUDIR=`HPUX/cpurev` TARGOS=HPUX
347145519Sdarrenr	(cd HPUX/`HPUX/cpurev`; $(MAKE) build TOP=../.. $(DEST) $(MFLAGS) "BITS=`getconf KERNEL_BITS`" `../makeargs`; cd ..)
348145519Sdarrenr	(cd HPUX/`HPUX/cpurev`; $(MAKE) -f Makefile.ipsend build TOP=../.. $(DEST) $(MFLAGS) "BITS=`getconf KERNEL_BITS`" `../makeargs`; cd ..)
34922514Sdarrenr
350145519Sdarrenrsunos4 solaris1:
35160841Sdarrenr	(cd SunOS4; make build TOP=.. "CC=$(CC)" $(DEST) $(MFLAGS); cd ..)
352145519Sdarrenr	(cd SunOS4; make -f Makefile.ipsend build "CC=$(CC)" TOP=.. $(DEST) $(MFLAGS); cd ..)
35324583Sdarrenr
354110917Sdarrenrsunos5 solaris2: null
355172776Sdarrenr	(cd SunOS5/$(CPUDIR); $(MAKE) build TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS) "SOLARIS2=$(SOLARIS2)"; cd ..)
356145519Sdarrenr	(cd SunOS5/$(CPUDIR); $(MAKE) -f Makefile.ipsend build TOP=../.. "CC=$(CC)" $(DEST) $(MFLAGS); cd ..)
35724583Sdarrenr
358145519Sdarrenrlinux: include
359145519Sdarrenr	(cd Linux; make build LINUX=$(LINUX) TOP=.. "DEBUG=-g" "CC=$(CC)" $(MFLAGS) OBJ=$(CPUDIR) LINUXKERNEL=$(LINUXKERNEL); cd ..)
360145519Sdarrenr	(cd Linux; make ipflkm LINUX=$(LINUX) TOP=.. "DEBUG=-g" "CC=$(CC)" $(MFLAGS) OBJ=$(CPUDIR) LINUXKERNEL=$(LINUXKERNEL) WORKDIR=`pwd`; cd ..)
361145519Sdarrenr#	(cd Linux; make -f Makefile.ipsend build LINUX=$(LINUX) TOP=.. "CC=$(CC)" $(MFLAGS); cd ..)
36237074Speter
363145519Sdarrenrinstall-linux: linux
364145519Sdarrenr	(cd Linux/; make LINUX=$(LINUX) TOP=.. "DEBUG=-g" "CC=$(CC)" $(MFLAGS) OBJ=$(CPUDIR) install ; cd ..)
365145519Sdarrenr
36631183Speterinstall-bsd:
36731183Speter	(cd BSD/$(CPUDIR); make install "TOP=../.." $(MFLAGS); cd ..)
36831183Speter	(cd BSD/$(CPUDIR); make -f Makefile.ipsend INSTALL=$(INSTALL) install "TOP=../.." $(MFLAGS); cd ..)
36926119Sdarrenr
37022514Sdarrenrinstall-sunos4: solaris
371145519Sdarrenr	(cd SunOS4; $(MAKE) CPU=$(CPU) TOP=.. install)
37226119Sdarrenr
373145519Sdarrenrinstall-sunos5: solaris null
374172776Sdarrenr	(cd SunOS5; $(MAKE) TOP=.. install)
37522514Sdarrenr
376153881Sguidoinstall-aix:
377153881Sguido	(cd AIX/`AIX/cpurev`; make install "TOP=../.." $(MFLAGS); cd ..)
378153881Sguido#	(cd AIX/`AIX/cpurev`; make -f Makefile.ipsend INSTALL=$(INSTALL) install "TOP=../.." $(MFLAGS); cd ..)
379153881Sguido
380145519Sdarrenrinstall-hpux: hpux
381145519Sdarrenr	(cd HPUX/`HPUX/cpurev`; $(MAKE) CPU=$(CPU) TOP=../.. "BITS=`getconf KERNEL_BITS`" install)
382145519Sdarrenr
38331183Speterinstall-irix: irix
384145519Sdarrenr	(cd IRIX; smake install CPU=$(CPU) TOP=.. $(DEST) $(MFLAGS) CPUDIR=`./cpurev`)
38531183Speter
386145519Sdarrenrinstall-osf install-tru64:
387145519Sdarrenr	(cd OSF/`OSF/cpurev`; make install "TOP=../.." $(MFLAGS); cd ..)
38822514Sdarrenr
38922514Sdarrenrdo-cvs:
39022514Sdarrenr	find . -type d -name CVS -print | xargs /bin/rm -rf
39122514Sdarrenr	find . -type f -name .cvsignore -print | xargs /bin/rm -f
392145519Sdarrenr	/bin/rm -f ip_msnrpc_pxy.c ip_sunrpc_pxy.c
393110917Sdarrenr
394145519Sdarrenrip_rules.c ip_rules.h: rules/ip_rules tools/ipfcomp.c
395145519Sdarrenr	-./ipf -n -cc -f rules/ip_rules 2>/dev/null 1>&2
396145519Sdarrenr
397110917Sdarrenrnull:
398145519Sdarrenr	@if [ "`$(MAKE) -v 2>&1 | sed -ne 's/GNU.*/GNU/p'`" = "GNU" ] ; then \
399110917Sdarrenr		echo 'Do not use GNU make (gmake) to compile IPFilter'; \
400110917Sdarrenr		exit 1; \
401110917Sdarrenr	fi
402110917Sdarrenr	-@echo make ok
403130890Sdarrenr
404145519Sdarrenrmdb:
405145519Sdarrenr	/bin/rm -rf mdbgen_build
406145519Sdarrenr	mdbgen -D_KERNEL -DIPFILTER_LOG -DIPFILTER_LOOKUP -DSUNDDI \
407145519Sdarrenr	       -DIPFILTER_SCAN -DIPFILTER_LKM -DSOLARIS2=10 -n ipf_mdb -k \
408145519Sdarrenr	       -I/home/dr146992/pfil -I/home/dr146992/ipf -f \
409145519Sdarrenr	       /usr/include/netinet/in_systm.h,/usr/include/sys/ethernet.h,/usr/include/netinet/in.h,/usr/include/netinet/ip.h,/usr/include/netinet/ip_var.h,/usr/include/netinet/tcp.h,/usr/include/netinet/tcpip.h,/usr/include/netinet/ip_icmp.h,/usr/include/netinet/udp.h,ip_compat.h,ip_fil.h,ip_nat.h,ip_state.h,ip_proxy.h,ip_scan.h
410153881Sguido
411