1997-02-09 22:50:16 +00:00
|
|
|
#
|
|
|
|
# (C)opyright 1993, 1994, 1995 by Darren Reed.
|
|
|
|
#
|
|
|
|
# This code may be freely distributed as long as it retains this notice
|
|
|
|
# and is not changed in any way. The author accepts no responsibility
|
|
|
|
# for the use of this software. I hate legaleese, don't you ?
|
|
|
|
#
|
1997-05-25 15:45:04 +00:00
|
|
|
# $Id: Makefile,v 2.0.2.12 1997/05/24 08:13:34 darrenr Exp $
|
1997-02-09 22:50:16 +00:00
|
|
|
#
|
|
|
|
# where to put things.
|
|
|
|
#
|
1997-05-25 15:45:04 +00:00
|
|
|
BINDEST=/usr/local/bin
|
|
|
|
SBINDEST=/sbin
|
|
|
|
MANDIR=/usr/local/man
|
1997-04-03 10:22:02 +00:00
|
|
|
#To test prototyping
|
|
|
|
#CC=gcc -Wstrict-prototypes -Wmissing-prototypes -Werror
|
1997-02-09 22:50:16 +00:00
|
|
|
CC=gcc
|
|
|
|
DEBUG=-g
|
|
|
|
CFLAGS=-I$$(TOP)
|
1997-04-03 10:22:02 +00:00
|
|
|
CPU=`uname -m`
|
1997-02-09 22:50:16 +00:00
|
|
|
#
|
|
|
|
# To enable this to work as a Loadable Kernel Module...
|
|
|
|
#
|
|
|
|
IPFLKM=-DIPFILTER_LKM
|
|
|
|
#
|
|
|
|
# To enable logging of blocked/passed packets...
|
|
|
|
#
|
|
|
|
IPFLOG=-DIPFILTER_LOG
|
|
|
|
#
|
|
|
|
# The facility you wish to log messages from ipmon to syslogd with.
|
|
|
|
#
|
|
|
|
LOGFAC=-DLOGFAC=LOG_LOCAL0
|
|
|
|
#
|
|
|
|
# For packets which don't match any pass rules or any block rules, set either
|
|
|
|
# FR_PASS or FR_BLOCK (respectively). It defaults to FR_PASS if left
|
|
|
|
# undefined. This is ignored for ipftest, which can thus return three
|
|
|
|
# results: pass, block and nomatch. This is the sort of "block unless
|
|
|
|
# explicitly allowed" type #define switch.
|
|
|
|
#
|
1997-03-02 15:40:21 +00:00
|
|
|
POLICY=-DIPF_DEFAULT_PASS=FR_PASS
|
1997-02-09 22:50:16 +00:00
|
|
|
#
|
|
|
|
MFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \
|
|
|
|
"CC=$(CC)" 'CFLAGS=$(CFLAGS) $(SOLARIS2)' "IPFLKM=$(IPFLKM)" \
|
|
|
|
"IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \
|
1997-04-03 10:22:02 +00:00
|
|
|
"SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)"
|
1997-02-09 22:50:16 +00:00
|
|
|
#
|
|
|
|
########## ########## ########## ########## ########## ########## ##########
|
|
|
|
#
|
|
|
|
CP=/bin/cp
|
|
|
|
RM=/bin/rm
|
|
|
|
CHMOD=/bin/chmod
|
|
|
|
INSTALL=install
|
|
|
|
#
|
|
|
|
DFLAGS=$(IPFLKM) $(IPFLOG) $(DEF)
|
|
|
|
|
|
|
|
all:
|
|
|
|
@echo "Chose one of the following targets for making IP filter:"
|
|
|
|
@echo ""
|
|
|
|
@echo "solaris - auto-selects SunOS4.1.x/Solaris 2.[45]/Soalris2.[45]-x86"
|
|
|
|
@echo "bsd - compile for 4.4BSD based Unixes (FreeBSD/NetBSD/OpenBSD)"
|
|
|
|
@echo "bsdi - compile for BSD/OS"
|
|
|
|
@echo ""
|
|
|
|
|
|
|
|
tests:
|
|
|
|
@if [ -d test ]; then (cd test; make) \
|
|
|
|
else echo test directory not present, sorry; fi
|
|
|
|
|
1997-05-25 15:45:04 +00:00
|
|
|
include:
|
|
|
|
mkdir -p netinet
|
|
|
|
(cd netinet; /bin/rm -f *; ln -s ../*.h .; ln -s ../ip_ftp_pxy.c .)
|
|
|
|
|
|
|
|
sunos solaris: include
|
1997-02-09 22:50:16 +00:00
|
|
|
./buildsunos
|
|
|
|
|
1997-05-25 15:45:04 +00:00
|
|
|
freebsd22 freebsd30: include
|
1997-04-03 10:22:02 +00:00
|
|
|
-if [ ! -d BSD/$(CPU) ] ; then mkdir BSD/$(CPU); fi
|
1997-05-25 15:45:04 +00:00
|
|
|
-rm -f BSD/$(CPU)/ioconf.h
|
|
|
|
@if [ -n $(IPFILKERN) ] ; then \
|
|
|
|
ln -s /sys/$(IPFILKERN)/ioconf.h BSD/$(CPU); \
|
|
|
|
elif [ ! -f `uname -v|sed -e 's@^.*:\(/[^: ]*\).*@\1@'`/ioconf.h ] ; then \
|
|
|
|
echo -n "Can't find ioconf.h in "; \
|
|
|
|
echo `uname -v|sed -e 's@^.*:\(/[^: ]*\).*@\1@'`; \
|
1997-04-03 10:22:02 +00:00
|
|
|
exit 1;\
|
1997-05-25 15:45:04 +00:00
|
|
|
else \
|
|
|
|
ln -s `uname -v|sed -e 's@^.*:\(/[^: ]*\).*@\1@'`/ioconf.h BSD/$(CPU) ; \
|
1997-04-03 10:22:02 +00:00
|
|
|
fi
|
1997-05-25 15:45:04 +00:00
|
|
|
make freebsd
|
|
|
|
|
|
|
|
netbsd: include
|
|
|
|
-if [ ! -d BSD/$(CPU) ] ; then mkdir BSD/$(CPU); fi
|
|
|
|
-rm -f BSD/$(CPU)/Makefile BSD/$(CPU)/Makefile.ipsend
|
|
|
|
-ln -s ../Makefile BSD/$(CPU)/Makefile
|
|
|
|
-ln -s ../Makefile.ipsend BSD/$(CPU)/Makefile.ipsend
|
|
|
|
(cd BSD/$(CPU); make build "TOP=../.." $(MFLAGS) "ML=mln_ipl.c"; cd ..)
|
|
|
|
(cd BSD/$(CPU); make -f Makefile.ipsend "TOP=../.." $(MFLAGS); cd ..)
|
|
|
|
|
|
|
|
freebsd freebsd20 freebsd21: include
|
|
|
|
-if [ ! -d BSD/$(CPU) ] ; then mkdir BSD/$(CPU); fi
|
|
|
|
-rm -f BSD/$(CPU)/Makefile BSD/$(CPU)/Makefile.ipsend
|
|
|
|
-ln -s ../Makefile BSD/$(CPU)/Makefile
|
|
|
|
-ln -s ../Makefile.ipsend BSD/$(CPU)/Makefile.ipsend
|
|
|
|
(cd BSD/$(CPU); make build "TOP=../.." $(MFLAGS) "ML=mlf_ipl.c"; cd ..)
|
|
|
|
(cd BSD/$(CPU); make -f Makefile.ipsend "TOP=../.." $(MFLAGS); cd ..)
|
1997-04-03 10:22:02 +00:00
|
|
|
|
1997-05-25 15:45:04 +00:00
|
|
|
bsd: include
|
1997-04-03 10:22:02 +00:00
|
|
|
-if [ ! -d BSD/$(CPU) ] ; then mkdir BSD/$(CPU); fi
|
|
|
|
-rm -f BSD/$(CPU)/Makefile BSD/$(CPU)/Makefile.ipsend
|
|
|
|
-ln -s ../Makefile BSD/$(CPU)/Makefile
|
|
|
|
-ln -s ../Makefile.ipsend BSD/$(CPU)/Makefile.ipsend
|
|
|
|
(cd BSD/$(CPU); make build "TOP=../.." $(MFLAGS); cd ..)
|
|
|
|
(cd BSD/$(CPU); make -f Makefile.ipsend "TOP=../.." $(MFLAGS); cd ..)
|
1997-02-09 22:50:16 +00:00
|
|
|
|
1997-05-25 15:45:04 +00:00
|
|
|
bsdi bsdos: include
|
1997-04-03 10:22:02 +00:00
|
|
|
-if [ ! -d BSD/$(CPU) ] ; then mkdir BSD/$(CPU); fi
|
|
|
|
-rm -f BSD/$(CPU)/Makefile BSD/$(CPU)/Makefile.ipsend
|
|
|
|
-ln -s ../Makefile BSD/$(CPU)/Makefile
|
|
|
|
-ln -s ../Makefile.ipsend BSD/$(CPU)/Makefile.ipsend
|
|
|
|
(cd BSD/$(CPU); make build "TOP=../.." $(MFLAGS) LKM= ; cd ..)
|
|
|
|
(cd BSD/$(CPU); make -f Makefile.ipsend "TOP=../.." $(MFLAGS); cd ..)
|
1997-02-09 22:50:16 +00:00
|
|
|
|
|
|
|
clean:
|
|
|
|
${RM} -f core *.o ipt fils ipf ipfstat ipftest ipmon if_ipl \
|
|
|
|
vnode_if.h $(LKM)
|
|
|
|
(cd SunOS4; make clean)
|
|
|
|
(cd SunOS5; make clean)
|
|
|
|
(cd BSD; make clean)
|
|
|
|
[ -d test ] && (cd test; make clean)
|
|
|
|
(cd ipsend; make clean)
|
|
|
|
|
|
|
|
clean-bsd:
|
|
|
|
(cd BSD; make clean)
|
|
|
|
|
|
|
|
clean-sunos4:
|
|
|
|
(cd SunOS4; make clean)
|
|
|
|
|
|
|
|
clean-sunos5:
|
|
|
|
(cd SunOS5; make clean)
|
|
|
|
|
|
|
|
get:
|
|
|
|
-@for i in ipf.c ipt.h solaris.c ipf.h kmem.c ipft_ef.c linux.h \
|
|
|
|
ipft_pc.c fil.c ipft_sn.c mln_ipl.c fils.c ipft_td.c \
|
|
|
|
mls_ipl.c ip_compat.h ipl.h opt.c ip_fil.c ipl_ldev.c \
|
|
|
|
parse.c ip_fil.h ipmon.c pcap.h ip_sfil.c ipt.c snoop.h \
|
|
|
|
ip_state.c ip_state.h ip_nat.c ip_nat.h ip_frag.c \
|
|
|
|
ip_frag.h ip_sfil.c misc.c; do \
|
|
|
|
if [ ! -f $$i ] ; then \
|
|
|
|
echo "getting $$i"; \
|
|
|
|
sccs get $$i; \
|
|
|
|
fi \
|
|
|
|
done
|
|
|
|
|
1997-04-03 10:22:02 +00:00
|
|
|
sunos4 solaris1:
|
|
|
|
(cd SunOS4; make build TOP=.. $(MFLAGS); cd ..)
|
|
|
|
(cd SunOS4; make -f Makefile.ipsend TOP=.. $(MFLAGS); cd ..)
|
|
|
|
|
|
|
|
sunos5 solaris2:
|
|
|
|
(cd SunOS5/$(CPU); make build TOP=../.. $(MFLAGS) "SOLARIS2=$(SOLARIS2)" "CPU=-Dsparc -D__sparc__"; cd ..)
|
|
|
|
(cd SunOS5/$(CPU); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..)
|
|
|
|
|
|
|
|
sunos5x86 solaris2x86:
|
|
|
|
(cd SunOS5/$(CPU); make build TOP=../.. $(MFLAGS) "SOLARIS2=$(SOLARIS2)" "CPU=-Di86pc -Di386 -D__i386__"; cd ..)
|
|
|
|
(cd SunOS5/$(CPU); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..)
|
|
|
|
|
1997-02-09 22:50:16 +00:00
|
|
|
install-bsd: bsd
|
1997-05-25 15:45:04 +00:00
|
|
|
(cd BSD/$(CPU); make install "TOP=../.." $(MFLAGS); cd ..)
|
|
|
|
(cd BSD/$(CPU); make -f Makefile.ipsend INSTALL=$(INSTALL) install "TOP=../.." $(MFLAGS); cd ..)
|
|
|
|
|
1997-02-09 22:50:16 +00:00
|
|
|
install-sunos4: solaris
|
1997-04-03 10:22:02 +00:00
|
|
|
(cd SunOS4; $(MAKE) "CPU=$(CPU) TOP=.." install)
|
1997-05-25 15:45:04 +00:00
|
|
|
|
1997-02-09 22:50:16 +00:00
|
|
|
install-sunos5: solaris
|
1997-04-03 10:22:02 +00:00
|
|
|
(cd SunOS5; $(MAKE) "CPU=$(CPU) TOP=.." install)
|
1997-02-09 22:50:16 +00:00
|
|
|
|
|
|
|
rcsget:
|
|
|
|
-@for i in ipf.c ipt.h solaris.c ipf.h kmem.c ipft_ef.c linux.h \
|
|
|
|
ipft_pc.c fil.c ipft_sn.c mln_ipl.c fils.c ipft_td.c \
|
|
|
|
mls_ipl.c ip_compat.h ipl.h opt.c ip_fil.c ipl_ldev.c \
|
|
|
|
parse.c ip_fil.h ipmon.c pcap.h ip_sfil.c ipt.c snoop.h \
|
|
|
|
ip_state.c ip_state.h ip_nat.c ip_nat.h ip_frag.c \
|
|
|
|
ip_frag.h ip_sfil.c misc.c; do \
|
|
|
|
if [ ! -f $$i ] ; then \
|
|
|
|
echo "getting $$i"; \
|
|
|
|
co $$i; \
|
|
|
|
fi \
|
|
|
|
done
|
|
|
|
|
|
|
|
do-cvs:
|
|
|
|
find . -type d -name CVS -print | xargs /bin/rm -rf
|
|
|
|
find . -type f -name .cvsignore -print | xargs /bin/rm -f
|