2 # Copyright (C) 1993-1998 by Darren Reed.
4 # See the IPFILTER.LICENCE file for details on licencing.
9 SEARCHDIRS!=echo $(BINDEST) $(SBINDEST) /bin /usr/bin /sbin /usr/sbin /usr/local/bin /usr/local/sbin | awk '{for(i=1;i<NF;i++){print $$i;}}' - | sort -u
11 CC=gcc -Wall -Wuninitialized -Wstrict-prototypes -O
12 #UFLAGS=-fprofile-arcs -ftest-coverage
17 DEVFS!=/usr/bin/lsvfs 2>&1 | sed -n 's/.*devfs.*/-DDEVFS/p'
19 INC=-I/usr/include -I/sys -I/sys/sys -I/sys/arch
20 DEF=-D$(CPU) -D__$(CPU)__ -DINET -DKERNEL -D_KERNEL $(INC) $(DEVFS)
21 IPDEF=$(DEF) -DGATEWAY -DDIRECTED_BROADCAST
30 MFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \
31 'CFLAGS=$(CFLAGS) $(SOLARIS2)' "IPFLKM=$(IPFLKM)" \
32 "IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \
33 "SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \
34 "CPUDIR=$(CPUDIR)" "LOOKUP=$(LOOKUP)" "SYNC=$(SYNC)"
35 LIBS=-L. -lipf $(LIBBPF)
37 ########## ########## ########## ########## ########## ########## ##########
44 MODOBJS=ip_fil.o fil.o ml_ipl.o ip_nat.o ip_frag.o ip_state.o ip_proxy.o \
45 ip_auth.o ip_log.o ip_pool.o ip_htable.o ip_lookup.o ip_rules.o \
48 DFLAGS=$(IPFLKM) $(IPFLOG) $(LOOKUP) $(SYNC) $(DEF) $(DLKM) $(IPFBPF)
49 IPF=ipf.o ipfcomp.o ipf_y.o ipf_l.o bpf_filter_u.o
50 IPT=ipftest.o fil_u.o ip_frag_u.o ip_state_u.o ip_nat_u.o \
51 ip_proxy_u.o ip_auth_u.o ip_htable_u.o ip_lookup_u.o ip_pool_u.o \
52 ip_scan_u.o ip_sync_u.o ip_rules_u.o ip_fil_u.o ip_log_u.o \
53 ippool_y.o ippool_l.o ipf_y.o ipf_l.o ipnat_y.o ipnat_l.o \
54 md5_u.o radix_u.o bpf_filter_u.o
58 IPNAT=ipnat.o ipnat_y.o ipnat_l.o
59 IPMON=ipmon.o ipmon_y.o ipmon_l.o
60 IPPOOL=ippool_y.o ippool_l.o kmem.o ippool.o
62 PROXYLIST=$(TOP)/ip_ftp_pxy.c $(TOP)/ip_ipsec_pxy.c $(TOP)/ip_irc_pxy.c \
63 $(TOP)/ip_netbios_pxy.c $(TOP)/ip_raudio_pxy.c $(TOP)/ip_rcmd_pxy.c \
64 $(TOP)/ip_rpcb_pxy.c $(TOP)/ip_pptp_pxy.c
70 CCARGS=-I. $(DEBUG) $(CFLAGS) $(UFLAGS)
71 KCARGS=-I. $(DEBUG) $(CFLAGS)
73 # Extra is option kernel things we always want in user space.
77 include $(TOP)/lib/Makefile
79 build all: machine $(OBJ)/libipf.a ipf ipfs ipfstat ipftest ipmon ipnat \
80 ippool ipscan ipsyncm ipsyncs $(LKM) $(LKMR)
81 -sh -c 'for i in ipf ipftest ipmon ippool ipnat ipscan ipsyncm ipsyncs; do /bin/rm -f $(TOP)/$$i; ln -s `pwd`/$$i $(TOP); done'
82 -/bin/rm -f ../tools ./tools
86 machine: Makefile.kmod
87 if [ -f Makefile.kmod ] ; then \
88 make -f Makefile.kmod depend MKUPDATE=no; \
92 if [ -f /usr/share/mk/bsd.kmod.mk -a "`uname -s`" = "NetBSD" ] ; then \
93 rm -f Makefile.kmod; \
94 ln -s /usr/share/mk/bsd.kmod.mk Makefile.kmod; \
97 ipfstat: $(FILS) $(OBJ)/libipf.a
98 $(CC) $(CCARGS) $(STATETOP_CFLAGS) $(STATETOP_INC) $(FILS) \
99 -o $@ $(LIBS) $(STATETOP_LIB) -lkvm
101 ipf: $(IPF) $(OBJ)/libipf.a
102 $(CC) $(CCARGS) $(IPF) -o $@ $(LIBS) -ll $(LIBBPF)
104 ipftest: $(IPT) $(OBJ)/libipf.a
105 $(CC) $(CCARGS) $(IPT) -o $@ $(LIBS) -ll $(LIBBPF)
107 ipnat: $(IPNAT) $(OBJ)/libipf.a
108 $(CC) $(CCARGS) $(IPNAT) -o $@ $(LIBS) -lkvm -ll
111 $(CC) $(CCARGS) ipfs.o -o $@
113 ipsyncm: ipsyncm.o $(OBJ)/libipf.a
114 $(CC) $(CCARGS) ipsyncm.o -o $@ $(LIBS)
116 ipsyncs: ipsyncs.o $(OBJ)/libipf.a
117 $(CC) $(CCARGS) ipsyncs.o -o $@ $(LIBS)
119 ipsyncm.o: $(TOOL)/ipsyncm.c $(TOP)/ip_sync.h
120 $(CC) $(CCARGS) -c $(TOOL)/ipsyncm.c -o $@
122 ipsyncs.o: $(TOOL)/ipsyncs.c $(TOP)/ip_sync.h
123 $(CC) $(CCARGS) -c $(TOOL)/ipsyncs.c -o $@
128 ipfstat.o: $(TOOL)/ipfstat.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_frag.h \
129 $(TOP)/ip_compat.h $(TOP)/ip_state.h $(TOP)/ip_nat.h $(TOP)/opts.h
130 $(CC) $(CCARGS) $(STATETOP_CFLAGS) $(STATETOP_INC) \
131 -c $(TOOL)/ipfstat.c -o $@
133 ipfs.o: $(TOOL)/ipfs.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_state.h \
134 $(TOP)/ip_nat.h $(TOP)/opts.h
135 $(CC) $(CCARGS) -c $(TOOL)/ipfs.c -o $@
137 fil_u.o: $(TOP)/fil.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_compat.h \
138 $(TOP)/opts.h $(TOP)/ip_rules.h
139 $(CC) $(CCARGS) $(EXTRA) $(IPFBPF) -D_RADIX_H_ -c $(TOP)/fil.c -o $@
141 fil.o: $(TOP)/fil.c $(TOP)/ip_fil.h $(TOP)/ip_compat.h $(TOP)/ipl.h \
143 $(CC) $(KCARGS) $(POLICY) $(DFLAGS) $(IPFBPF) $(COMPIPF) \
144 -c $(TOP)/fil.c -o $@
146 ipf.o: $(TOOL)/ipf.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/opts.h
147 $(CC) $(CCARGS) -c $(TOOL)/ipf.c -o $@
149 ipfcomp.o: $(TOOL)/ipfcomp.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/opts.h
150 $(CC) $(CCARGS) -c $(TOOL)/ipfcomp.c -o $@
152 ipftest.o: $(TOOL)/ipftest.c $(TOP)/ip_fil.h $(TOP)/ipt.h $(TOP)/ipf.h \
154 $(CC) $(CCARGS) -c $(TOOL)/ipftest.c -o $@
156 ipnat.o: $(TOOL)/ipnat.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_nat.h \
158 $(CC) $(CCARGS) -c $(TOOL)/ipnat.c -o $@
160 ipnat_y.o: ipnat_y.c ipnat_y.h ipnat_l.h
161 $(CC) $(CCARGS) -c ipnat_y.c -o $@
163 ipnat_l.o: ipnat_l.c ipnat_y.h
164 $(CC) $(CCARGS) -I. -c ipnat_l.c -o $@
166 ipnat_y.c: $(TOOL)/ipnat_y.y
167 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
171 ipnat_l.c: $(TOOL)/lexer.c $(TOP)/ip_nat.h
172 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
174 ipnat_l.h: $(TOOL)/lexer.h
175 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
177 ip_nat_u.o: $(TOP)/ip_nat.c $(TOP)/ip_nat.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h
178 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_nat.c -o $@
180 ip_proxy_u.o: $(TOP)/ip_proxy.c $(TOP)/ip_proxy.h $(TOP)/ip_compat.h \
181 $(TOP)/ip_fil.h $(PROXYLIST) $(TOP)/ip_nat.h
182 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_proxy.c -o $@
184 ip_frag_u.o: $(TOP)/ip_frag.c $(TOP)/ip_frag.h $(TOP)/ip_compat.h \
186 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_frag.c -o $@
188 ip_state_u.o: $(TOP)/ip_state.c $(TOP)/ip_state.h $(TOP)/ip_compat.h \
189 $(TOP)/ip_fil.h $(TOP)/ip_nat.h
190 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_state.c -o $@
192 ip_auth_u.o: $(TOP)/ip_auth.c $(TOP)/ip_auth.h $(TOP)/ip_compat.h \
194 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_auth.c -o $@
196 ip_fil_u.o: $(TOP)/ip_fil.c $(TOP)/ip_fil.h $(TOP)/ip_compat.h
197 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_fil.c -o $@
199 ip_rules_u.o: ip_rules.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
201 $(CC) $(CCARGS) $(EXTRA) -c ip_rules.c -o $@
203 ip_scan_u.o: $(TOP)/ip_scan.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
205 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_scan.c -o $@
207 ip_sync_u.o: $(TOP)/ip_sync.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
209 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_sync.c -o $@
211 ip_pool_u.o: $(TOP)/ip_pool.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
213 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_pool.c -o $@
215 ip_htable_u.o: $(TOP)/ip_htable.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
217 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_htable.c -o $@
219 ip_lookup_u.o: $(TOP)/ip_lookup.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
220 $(TOP)/ip_lookup.h $(TOP)/ip_pool.h $(TOP)/ip_htable.h
221 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_lookup.c -o $@
223 ip_trafcon_u.o: $(TOP)/ip_trafcon.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
225 $(CC) $(CCARGS) -c $(TOP)/ip_trafcon.c -o $@
227 ip_log_u.o: $(TOP)/ip_log.c $(TOP)/ip_fil.h $(TOP)/ip_compat.h
228 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_log.c -o $@
230 md5_u.o: $(TOP)/md5.c $(TOP)/md5.h
231 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/md5.c -o $@
233 radix_u.o: $(TOP)/md5.c $(TOP)/radix_ipf.h
234 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/radix.c -o $@
236 bpf_filter_u.o: $(TOP)/bpf_filter.c $(TOP)/pcap-ipf.h
237 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/bpf_filter.c -o $@
240 ld -r $(MODOBJS) -o $(LKM)
243 ipfrule.ko.5: ip_rulesx.o $(MLR)
244 ld -warn-common -r -d -o $(.TARGET:S/.ko/.kld/) ip_rulesx.o $(MLR)
245 ld -Bshareable -d -warn-common -o $(LKMR:S/.5$//) $(.TARGET:S/.ko/.kld/)
246 ipfrule.ko: ip_rulesx.o $(MLR)
247 gensetdefs ip_rulesx.o $(MLR)
248 $(CC) $(KCARGS) -c setdef0.c
249 $(CC) $(KCARGS) -c setdef1.c
250 ld -Bshareable -o $@ setdef0.o ip_rulesx.o $(MLR) setdef1.o
252 ipf.ko.5 ipl.ko.5: $(MODOBJS)
253 ld -warn-common -r -d -o $(.TARGET:S/.ko/.kld/) $(MODOBJS)
254 ld -Bshareable -d -warn-common -o $(LKM:S/.5$//) $(.TARGET:S/.ko/.kld/)
256 ipf.ko ipl.ko: $(MODOBJS)
257 gensetdefs $(MODOBJS)
258 $(CC) $(KCARGS) -c setdef0.c
259 $(CC) $(KCARGS) -c setdef1.c
260 ld -Bshareable -o $@ setdef0.o $(MODOBJS) setdef1.o
262 ip_nat.o: $(TOP)/ip_nat.c $(TOP)/ip_nat.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h
263 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_nat.c -o $@
265 ip_frag.o: $(TOP)/ip_frag.c $(TOP)/ip_frag.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h
266 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_frag.c -o $@
268 ip_state.o: $(TOP)/ip_state.c $(TOP)/ip_state.h $(TOP)/ip_compat.h \
269 $(TOP)/ip_fil.h $(TOP)/ip_nat.h
270 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_state.c -o $@
272 ip_proxy.o: $(TOP)/ip_proxy.c $(TOP)/ip_proxy.h $(TOP)/ip_compat.h \
273 $(TOP)/ip_fil.h $(PROXYLIST) $(TOP)/ip_nat.h
274 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_proxy.c -o $@
276 ip_auth.o: $(TOP)/ip_auth.c $(TOP)/ip_auth.h $(TOP)/ip_compat.h \
278 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_auth.c -o $@
282 ln -s $(TOP)/ip_fil_`uname -s|tr A-Z a-z`.c ip_fil.c
284 ip_fil.o: ip_fil.c $(TOP)/ip_fil.h $(TOP)/ip_compat.h $(TOP)/ip_nat.h
285 $(CC) $(KCARGS) $(DFLAGS) $(COMPIPF) -c ip_fil.c -o $@
287 ip_log.o: $(TOP)/ip_log.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h
288 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_log.c -o $@
290 ip_scan.o: $(TOP)/ip_scan.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(TOP)/ip_scan.h
291 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_scan.c -o $@
293 ip_sync.o: $(TOP)/ip_sync.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(TOP)/ip_sync.h
294 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_sync.c -o $@
296 ip_pool.o: $(TOP)/ip_pool.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
297 $(TOP)/ip_lookup.h $(TOP)/ip_pool.h
298 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_pool.c -o $@
300 ip_htable.o: $(TOP)/ip_htable.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
301 $(TOP)/ip_lookup.h $(TOP)/ip_htable.h
302 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_htable.c -o $@
304 ip_lookup.o: $(TOP)/ip_lookup.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
305 $(TOP)/ip_pool.h $(TOP)/ip_htable.h $(TOP)/ip_lookup.h
306 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_lookup.c -o $@
308 ip_trafcon.o: $(TOP)/ip_trafcon.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \
310 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_trafcon.c -o $@
312 vnode_if.h: $(VNODESHDIR)/vnode_if.src
314 if [ -f $(VNODESHDIR)/vnode_if.sh ] ; then \
315 sh $(VNODESHDIR)/vnode_if.sh $(VNODESHDIR)/vnode_if.src; \
317 if [ -f $(VNODESHDIR)/vnode_if.pl ] ; then \
318 perl $(VNODESHDIR)/vnode_if.pl $(VNODESHDIR)/vnode_if.src; \
320 if [ -f ../sys/vnode_if.h ] ; then mv ../sys/vnode_if.h .; fi
323 ml_ipl.o: vnode_if.h $(TOP)/$(MLD) $(TOP)/ipl.h
324 -/bin/rm -f vnode_if.c
325 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/$(ML) -o $@
327 ip_rules.o: ip_rules.c $(TOP)/ip_rules.h
328 $(CC) -I. $(CFLAGS) $(DFLAGS) $(COMPIPF) -c ip_rules.c -o $@
330 ip_rules.c: $(TOP)/rules/ip_rules $(TOP)/tools/ipfcomp.c ipf
331 ./ipf -cc -nf $(TOP)/rules/ip_rules
333 $(TOP)/ip_rules.h: ip_rules.c
334 if [ ! -f $(TOP)/ip_rules.h ] ; then \
335 /bin/mv -f ip_rules.h $(TOP); \
337 touch $(TOP)/ip_rules.h; \
340 ip_rulesx.o: ip_rules.c $(TOP)/ip_rules.h
341 $(CC) -I. $(CFLAGS) $(DFLAGS) -DIPFILTER_COMPILED -c ip_rules.c -o $@
343 mlf_rule.o: $(TOP)/mlf_rule.c $(TOP)/ip_rules.h
344 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/mlf_rule.c -o $@
346 mln_rule.o: $(TOP)/mln_rule.c $(TOP)/ip_rules.h
347 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/mln_rule.c -o $@
349 mlo_rule.o: $(TOP)/mlo_rule.c $(TOP)/ip_rules.h
350 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/mlo_rule.c -o $@
352 mlfk_rule.o: $(TOP)/mlfk_rule.c $(TOP)/ip_rules.h
353 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/mlfk_rule.c -o $@
355 ipf_y.o: ipf_y.c ipf_y.h $(TOP)/ipf.h ipf_l.h $(TOP)/opts.h
356 $(CC) $(CCARGS) $(IPFBPF) -c ipf_y.c -o $@
358 ipf_l.o: ipf_l.c ipf_y.h $(TOP)/ipf.h ipf_l.h $(TOP)/opts.h
359 $(CC) $(CCARGS) -I. -c ipf_l.c -o $@
361 ipf_y.c: $(TOOL)/ipf_y.y $(TOP)/ipf.h $(TOP)/opts.h
362 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
366 ipf_l.c: $(TOOL)/lexer.c $(TOP)/ipf.h $(TOP)/opts.h
367 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
369 ipf_l.h: $(TOOL)/lexer.h
370 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
372 ipmon: $(IPMON) $(OBJ)/libipf.a
373 $(CC) $(CCARGS) $(IPMON) -o $@ $(LIBS) -ll
375 ipmon.o: $(TOOL)/ipmon.c $(TOP)/ipmon.h
376 $(CC) $(CCARGS) $(LOGFAC) -c $(TOOL)/ipmon.c -o $@
378 ipmon_y.o: ipmon_y.c ipmon_y.h $(TOP)/ipmon.h ipmon_l.h
379 $(CC) $(CCARGS) -c ipmon_y.c -o $@
381 ipmon_l.o: ipmon_l.c ipmon_y.h $(TOP)/ipmon.h
382 $(CC) $(CCARGS) -I. -c ipmon_l.c -o $@
384 ipmon_y.c: $(TOOL)/ipmon_y.y $(TOP)/ipmon.h
385 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
389 ipmon_l.c: $(TOOL)/lexer.c $(TOP)/ipmon.h
390 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
392 ipmon_l.h: $(TOOL)/lexer.h
393 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
395 ipscan: ipscan_y.o ipscan_l.o
396 $(CC) $(DEBUG) ipscan_y.o ipscan_l.o -o $@ -ll $(LIBS) -lkvm
398 ipscan_y.o: ipscan_y.c ipscan_y.h $(TOP)/ip_scan.h ipscan_l.h
399 $(CC) $(CCARGS) -c ipscan_y.c -o $@
401 ipscan_l.o: ipscan_l.c ipscan_y.h $(TOP)/ip_scan.h
402 $(CC) $(CCARGS) -I. -c ipscan_l.c -o $@
404 ipscan_y.c: $(TOOL)/ipscan_y.y $(TOP)/ip_scan.h
405 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
407 ipscan_y.h: ipscan_y.c
409 ipscan_l.c ipscan_l.h: $(TOOL)/lexer.c $(TOP)/ip_scan.h
410 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
412 ippool: $(IPPOOL) $(OBJ)/libipf.a
413 $(CC) $(DEBUG) -I. $(CFLAGS) $(IPPOOL) -o $@ -ll -lkvm -L. -lipf
415 ippool.o: $(TOOL)/ippool.c $(TOP)/ip_pool.h
416 $(CC) $(CCARGS) -c $(TOOL)/ippool.c -o $@
418 ippool_y.o: ippool_y.c ippool_y.h $(TOP)/ip_pool.h ippool_l.h
419 $(CC) $(CCARGS) -c ippool_y.c -o $@
421 ippool_l.o: ippool_l.c ippool_y.h $(TOP)/ip_pool.h
422 $(CC) $(CCARGS) -I. -c ippool_l.c -o $@
424 ippool_y.c: $(TOOL)/ippool_y.y $(TOP)/ip_pool.h ippool_l.h
425 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
427 ippool_y.h: ippool_y.c
429 ippool_l.c: $(TOOL)/lexer.c $(TOP)/ip_pool.h
430 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
432 ippool_l.h: $(TOOL)/lexer.h
433 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@)
435 iptrafcon.o: $(TOP)/iptrafcon.c
436 $(CC) $(CCARGS) -c $< -o $@
438 iptrafcon: $(IPTRAFCON) $(OBJ)/libipf.a
439 $(CC) $(CCARGS) $(IPTRAFCON) -o $@ $(LIBS)
446 ${RM} -f ../ipf ../ipnat ../ipmon ../ippool ../ipftest
447 ${RM} -f ../ipscan ../ipsyncm ../ipsyncs
448 ${RM} -f *.core *.o *.a ipt ipfstat ipf ipfstat ipftest ipmon
449 ${RM} -f if_ipl ipnat ipfrule.ko* ipf.kld*
450 ${RM} -f vnode_if.h $(LKM) ioconf.h *.ko setdef1.c setdef0.c setdefs.h
451 ${RM} -f ip_fil.c ipf_l.c ipf_y.c ipf_y.h ipf_l.h
452 ${RM} -f ipscan ipscan_y.c ipscan_y.h ipscan_l.c ipscan_l.h
453 ${RM} -f ippool ippool_y.c ippool_y.h ippool_l.c ippool_l.h
454 ${RM} -f ipnat_y.c ipnat_y.h ipnat_l.c ipnat_l.h
455 ${RM} -f ipmon_y.c ipmon_y.h ipmon_l.c ipmon_l.h
456 ${RM} -f ipsyncm ipsyncs ipfs ip_rules.c ip_rules.h
457 ${RM} -f *.da *.gcov *.bb *.bbg tools
459 ${MAKE} -f Makefile.ipsend ${MFLAGS} clean
460 if [ -f Makefile.kmod ] ; then \
461 ${MAKE} -f Makefile.kmod ${MFLAGS} clean; \
464 if [ -d $${i} -a -f $${i}/Makefile ] ; then \
465 cd $${i}; (make TOP=../.. clean); cd ..; \
466 /bin/rm -f $${i}/Makefile $${i}/Makefile.ipsend; \
467 /bin/rm -f $${i}/Makefile.kmod; \
473 for i in ip_compat.h ip_fil.h ip_nat.h ip_state.h ip_proxy.h \
474 ip_frag.h ip_auth.h; do \
475 /bin/cp $(TOP)/$$i /usr/include/netinet/; \
476 $(CHMOD) 444 /usr/include/netinet/$$i; \
478 -if [ -d /lkm -a -f if_ipl.o ] ; then \
481 -if [ -d /modules -a -f ipf.ko ] ; then \
482 cp ipf.ko /modules; \
484 -if [ -d /modules -a -f ipfrule.ko ] ; then \
485 cp ipfrule.ko /modules; \
487 -if [ -d /boot/kernel -a -f ipf.ko ] ; then \
488 cp ipf.ko /boot/kernel; \
490 -if [ -d /boot/kernel -a -f ipfrule.ko ] ; then \
491 cp ipfrule.ko /boot/kernel; \
493 -if [ -d /usr/lkm -a -f if_ipl.o ] ; then \
494 cp if_ipl.o /usr/lkm; \
496 -$(INSTALL) -cs -g wheel -m 755 -o root ipscan $(SBINDEST)
497 (cd $(TOP)/man; make INSTALL=$(INSTALL) MANDIR=$(MANDIR) install; cd $(TOP))
498 @for i in ipf:$(SBINDEST) ipfs:$(SBINDEST) ipnat:$(SBINDEST) \
499 ippool:$(BINDEST) ipsyncm:$(BINDEST) ipsyncs:$(BINDEST) \
500 ipfstat:$(SBINDEST) ipftest:$(SBINDEST) ipmon:$(BINDEST); do \
501 def="`expr $$i : '[^:]*:\(.*\)'`"; \
502 p="`expr $$i : '\([^:]*\):.*'`"; \
504 for d in $(SEARCHDIRS); do \
505 if [ -f $$d/$$p ] ; then \
506 echo "$(INSTALL) -cs -g wheel -m 755 -o root $$p $$d"; \
507 $(INSTALL) -cs -g wheel -m 755 -o root $$p $$d; \
511 if [ -z "$$dd" ] ; then \
512 echo $(INSTALL) -cs -g wheel -m 755 -o root $$p $$def; \
513 $(INSTALL) -cs -g wheel -m 755 -o root $$p $$def; \
516 (cd $(TOP)/man; make INSTALL=$(INSTALL) MANDIR=$(MANDIR) install; cd $(TOP))
519 ksh -c 'for i in *.da; do j=$${i%%.da}.c; gcov $$j 2>&1 | egrep -v "y.tab.c|Could|Creating|_l\.c|\.h"; done' | sort -n > report
520 sort -n report | perl -e 'while(<>) { next if (/^0.00/); s/\%//g; @F=split;$$lc+=$$F[2];$$t += $$F[0]/100*$$F[2];} printf "%d of %d = %d%%\n", $$t, $$lc,$$t/$$lc*100;' >> report
523 /bin/rm -f *.gcov *.da