2 # Copyright (C) 1993-1998 by Darren Reed.
4 # Redistribution and use in source and binary forms are permitted
5 # provided that this notice is preserved and due credit is given
6 # to the original author and the contributors.
11 CC=cc -Wall -Wuninitialized -Wstrict-prototypes -Werror -O
16 DEVFS!=/usr/bin/lsvfs 2>&1 | sed -n 's/.*devfs.*/-DDEVFS/p'
18 INC=-I/usr/include -I/sys -I/sys/sys -I/sys/arch
19 DEF=-D$(CPU) -D__$(CPU)__ -DINET -DKERNEL -D_KERNEL $(INC) $(DEVFS)
20 IPDEF=$(DEF) -DGATEWAY -DDIRECTED_BROADCAST
27 MFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \
28 'CFLAGS=$(CFLAGS) $(SOLARIS2)' "IPFLKM=$(IPFLKM)" \
29 "IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \
30 "SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \
33 ########## ########## ########## ########## ########## ########## ##########
40 MODOBJS=ip_fil.o fil_k.o ml_ipl.o ip_nat.o ip_frag.o ip_state.o ip_proxy.o \
42 DFLAGS=$(IPFLKM) $(IPFLOG) $(DEF) $(DLKM)
43 IPF=ipf.o parse.o opt.o facpri.o
44 IPT=ipt.o parse.o fil.o ipft_sn.o ipft_ef.o ipft_td.o ipft_pc.o opt.o \
45 ipft_tx.o misc.o ip_frag_u.o ip_state_u.o ip_nat_u.o ip_proxy_u.o \
46 ip_auth_u.o ipft_hx.o ip_fil_u.o natparse.o facpri.o
47 FILS=fils.o parse.o kmem.o opt.o facpri.o
49 build all: ipf ipfstat ipftest ipmon ipnat $(LKM)
52 $(CC) $(DEBUG) $(CFLAGS) $(FILS) -o $@ $(LIBS)
55 $(CC) $(DEBUG) $(CFLAGS) $(IPF) -o $@ $(LIBS)
57 ln -s `pwd`/ipf $(TOP)
60 $(CC) $(DEBUG) $(CFLAGS) $(IPT) -o $@ $(LIBS)
61 /bin/rm -f $(TOP)/ipftest
62 ln -s `pwd`/ipftest $(TOP)
64 ipnat: ipnat.o kmem.o natparse.o
65 $(CC) $(DEBUG) $(CFLAGS) ipnat.o kmem.o natparse.o -o $@ $(LIBS)
70 fils.o: $(TOP)/fils.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_frag.h \
71 $(TOP)/ip_compat.h $(TOP)/ip_state.h
72 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/fils.c -o $@
74 fil.o: $(TOP)/fil.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_compat.h
75 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/fil.c -o $@
77 fil_k.o: $(TOP)/fil.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_compat.h
78 $(CC) $(DEBUG) $(CFLAGS) $(POLICY) $(DFLAGS) -c $(TOP)/fil.c -o $@
80 ipf.o: $(TOP)/ipf.c $(TOP)/ip_fil.h $(TOP)/ipf.h
81 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipf.c -o $@
83 ipt.o: $(TOP)/ipt.c $(TOP)/ip_fil.h $(TOP)/ipt.h $(TOP)/ipf.h
84 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipt.c -o $@
86 misc.o: $(TOP)/misc.c $(TOP)/ip_fil.h $(TOP)/ipt.h $(TOP)/ipf.h
87 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/misc.c -o $@
89 opt.o: $(TOP)/opt.c $(TOP)/ip_fil.h $(TOP)/ipf.h
90 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/opt.c -o $@
92 ipnat.o: $(TOP)/ipnat.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_nat.h
93 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipnat.c -o $@
95 natparse.o: $(TOP)/natparse.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_nat.h
96 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/natparse.c -o $@
98 ipft_sn.o: $(TOP)/ipft_sn.c $(TOP)/ipt.h $(TOP)/ipf.h $(TOP)/ip_fil.h \
100 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_sn.c -o $@
102 ipft_ef.o: $(TOP)/ipft_ef.c $(TOP)/ipf.h $(TOP)/ip_fil.h $(TOP)/ipt.h
103 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_ef.c -o $@
105 ipft_td.o: $(TOP)/ipft_td.c $(TOP)/ipf.h $(TOP)/ip_fil.h $(TOP)/ipt.h
106 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_td.c -o $@
108 ipft_pc.o: $(TOP)/ipft_pc.c $(TOP)/ipf.h $(TOP)/ip_fil.h $(TOP)/ipt.h
109 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_pc.c -o $@
111 ipft_tx.o: $(TOP)/ipft_tx.c $(TOP)/ipf.h $(TOP)/ip_fil.h $(TOP)/ipt.h
112 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_tx.c -o $@
114 ipft_hx.o: $(TOP)/ipft_hx.c $(TOP)/ipf.h $(TOP)/ip_fil.h $(TOP)/ipt.h
115 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ipft_hx.c -o $@
117 ip_nat_u.o: $(TOP)/ip_nat.c $(TOP)/ip_nat.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h
118 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ip_nat.c -o $@
120 ip_proxy_u.o: $(TOP)/ip_proxy.c $(TOP)/ip_proxy.h $(TOP)/ip_compat.h \
121 $(TOP)/ip_fil.h $(TOP)/ip_ftp_pxy.c $(TOP)/ip_nat.h
122 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ip_proxy.c -o $@
124 ip_frag_u.o: $(TOP)/ip_frag.c $(TOP)/ip_frag.h $(TOP)/ip_compat.h \
126 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ip_frag.c -o $@
128 ip_state_u.o: $(TOP)/ip_state.c $(TOP)/ip_state.h $(TOP)/ip_compat.h \
130 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ip_state.c -o $@
132 ip_auth_u.o: $(TOP)/ip_auth.c $(TOP)/ip_auth.h $(TOP)/ip_compat.h \
134 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/ip_auth.c -o $@
136 ip_fil_u.o: $(TOP)/$(IPFILC) $(TOP)/ip_fil.h $(TOP)/ip_compat.h
137 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/$(IPFILC) -o $@
140 ld -r $(MODOBJS) -o $(LKM)
143 ip_nat.o: $(TOP)/ip_nat.c $(TOP)/ip_nat.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h
144 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_nat.c -o $@
146 ip_frag.o: $(TOP)/ip_frag.c $(TOP)/ip_frag.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h
147 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_frag.c -o $@
149 ip_state.o: $(TOP)/ip_state.c $(TOP)/ip_state.h $(TOP)/ip_compat.h \
151 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_state.c -o $@
153 ip_proxy.o: $(TOP)/ip_proxy.c $(TOP)/ip_proxy.h $(TOP)/ip_compat.h \
154 $(TOP)/ip_fil.h $(TOP)/ip_ftp_pxy.c $(TOP)/ip_raudio_pxy.c \
156 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_proxy.c -o $@
158 ip_auth.o: $(TOP)/ip_auth.c $(TOP)/ip_auth.h $(TOP)/ip_compat.h \
160 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_auth.c -o $@
162 ip_fil.o: $(TOP)/$(IPFILC) $(TOP)/ip_fil.h $(TOP)/ip_compat.h $(TOP)/ip_nat.h
163 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/$(IPFILC) -o $@
165 ip_log.o: $(TOP)/ip_log.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h
166 $(CC) $(DEBUG) $(CFLAGS) $(DFLAGS) -c $(TOP)/ip_log.c -o $@
168 vnode_if.h: $(VNODESHDIR)/vnode_if.sh $(VNODESHDIR)/vnode_if.src
170 sh $(VNODESHDIR)/vnode_if.sh $(VNODESHDIR)/vnode_if.src
171 if [ -f ../sys/vnode_if.h ] ; then mv ../sys/vnode_if.h .; fi
174 ml_ipl.o: $(TOP)/$(MLD) $(TOP)/ipl.h
175 -/bin/rm -f vnode_if.c
176 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/$(ML) -o $@
178 kmem.o: $(TOP)/kmem.c
179 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/kmem.c -o $@
181 parse.o: $(TOP)/parse.c $(TOP)/ip_fil.h
182 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/parse.c -o $@
184 facpri.o: $(TOP)/facpri.c $(TOP)/facpri.h
185 $(CC) $(DEBUG) $(CFLAGS) -c $(TOP)/facpri.c -o $@
187 ipmon: $(TOP)/ipmon.c
188 $(CC) $(DEBUG) $(CFLAGS) $(LOGFAC) $(TOP)/ipmon.c -o $@ $(LIBS)
191 ${RM} -f *.core *.o ipt fils ipf ipfstat ipftest ipmon if_ipl ipnat \
192 vnode_if.h $(LKM) ioconf.h
193 ${MAKE} -f Makefile.ipsend ${MFLAGS} clean
195 if [ -d $${i} -a -f $${i}/Makefile ] ; then \
196 cd $${i}; (make clean); cd ..; \
197 rm $${i}/Makefile $${i}/Makefile.ipsend; \
203 -$(CP) $(TOP)/ip_fil.h /usr/include/netinet/ip_fil.h
204 -$(CHMOD) 444 /usr/include/netinet/ip_fil.h
205 -if [ -d /lkm -a -f if_ipl.o ] ; then \
208 -$(INSTALL) -cs -g wheel -m 755 -o root ipfstat ipf ipnat $(SBINDEST)
209 -$(INSTALL) -cs -g wheel -m 755 -o root ipmon ipftest $(BINDEST)
210 -$(INSTALL) -cs -g wheel -m 755 -o root ipftest ipftest $(BINDEST)
211 -$(INSTALL) -cs -g wheel -m 755 -o root ipf ipftest $(SBINDEST)
212 -$(INSTALL) -cs -g wheel -m 755 -o root ipnat ipftest $(SBINDEST)
213 (cd $(TOP)/man; make INSTALL=$(INSTALL) MANDIR=$(MANDIR) install; cd $(TOP))