Makefile revision 267654
1# 2# Copyright (C) 1993-1998 by Darren Reed. 3# 4# See the IPFILTER.LICENCE file for details on licencing. 5# 6TOP=../.. 7BINDEST=/usr/sbin 8SBINDEST=/sbin 9MANDIR=/usr/share/man 10SEARCHDIRS!=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 12CC=gcc -Wall -Wuninitialized -Wstrict-prototypes -O -Wmissing-prototypes -Wpointer-arith -Wno-sign-compare -Wno-traditional -Werror 13#UFLAGS=-fprofile-arcs -ftest-coverage 14CFLAGS=-g -I$(TOP) 15# 16# For NetBSD/FreeBSD 17# 18DEVFS!=/usr/bin/lsvfs 2>&1 | sed -n 's/.*devfs.*/-DDEVFS/p' 19CPU!=uname -m 20INC=-I/usr/include -I/sys -I/sys/sys -I/sys/arch 21DEF=-D$(CPU) -D__$(CPU)__ -DINET -DKERNEL -D_KERNEL $(INC) $(DEVFS) -fno-builtin 22IPDEF=$(DEF) -DGATEWAY -DDIRECTED_BROADCAST 23VNODESHDIR=/sys/kern 24MLD=$(ML) 25ML=mln_ipl.c 26LKM=if_ipl.o 27LKMR=ipfrule.o 28DLKM= 29OBJ=. 30DEST=$(OBJ) 31MFLAGS="BINDEST=$(BINDEST)" "SBINDEST=$(SBINDEST)" "MANDIR=$(MANDIR)" \ 32 'CFLAGS=$(CFLAGS) $(SOLARIS2)' "IPFLKM=$(IPFLKM)" \ 33 "IPFLOG=$(IPFLOG)" "LOGFAC=$(LOGFAC)" "POLICY=$(POLICY)" \ 34 "SOLARIS2=$(SOLARIS2)" "DEBUG=$(DEBUG)" "DCPU=$(CPU)" \ 35 "CPUDIR=$(CPUDIR)" "LOOKUP=$(LOOKUP)" "SYNC=$(SYNC)" 36LIBS=-L. -lipf $(LIBBPF) 37# 38########## ########## ########## ########## ########## ########## ########## 39# 40CP=/bin/cp 41RM=/bin/rm 42CHMOD=/bin/chmod 43INSTALL=install 44# 45MODOBJS=ip_fil.o fil.o ml_ipl.o ip_nat.o ip_frag.o ip_state.o ip_proxy.o \ 46 ip_auth.o ip_log.o ip_pool.o ip_htable.o ip_lookup.o ip_rules.o \ 47 ip_scan.o ip_sync.o 48# ip_trafcon.o 49DFLAGS=$(IPFLKM) $(IPFLOG) $(LOOKUP) $(SYNC) $(DEF) $(DLKM) $(IPFBPF) 50IPF=ipf.o ipfcomp.o ipf_y.o ipf_l.o bpf_filter_u.o 51IPT=ipftest.o fil_u.o ip_frag_u.o ip_state_u.o ip_nat_u.o \ 52 ip_proxy_u.o ip_auth_u.o ip_htable_u.o ip_lookup_u.o ip_pool_u.o \ 53 ip_scan_u.o ip_sync_u.o ip_rules_u.o ip_fil_u.o ip_log_u.o \ 54 ippool_y.o ippool_l.o ipf_y.o ipf_l.o ipnat_y.o ipnat_l.o \ 55 md5_u.o radix_u.o bpf_filter_u.o 56# ip_syn_u.o 57#ip_trafcon_u.o 58TOOL=$(TOP)/tools 59IPNAT=ipnat.o ipnat_y.o ipnat_l.o 60IPMON=ipmon.o ipmon_y.o ipmon_l.o 61IPPOOL=ippool_y.o ippool_l.o kmem.o ippool.o 62IPTRAFCON=iptrafcon.o 63PROXYLIST=$(TOP)/ip_ftp_pxy.c $(TOP)/ip_ipsec_pxy.c $(TOP)/ip_irc_pxy.c \ 64 $(TOP)/ip_netbios_pxy.c $(TOP)/ip_raudio_pxy.c $(TOP)/ip_rcmd_pxy.c \ 65 $(TOP)/ip_rpcb_pxy.c $(TOP)/ip_pptp_pxy.c 66FILS=ipfstat.o 67LIBSRC=$(TOP)/lib 68RANLIB=ranlib 69AROPTS=cq 70HERE!=pwd 71CCARGS=-I. $(DEBUG) $(CFLAGS) $(UFLAGS) 72KCARGS=-I. $(DEBUG) $(CFLAGS) 73# 74# Extra is option kernel things we always want in user space. 75# 76EXTRA=$(ALLOPTS) 77 78include $(TOP)/lib/Makefile 79 80build all: machine $(OBJ)/libipf.a ipf ipfs ipfstat ipftest ipmon ipnat \ 81 ippool ipscan ipsyncm ipsyncs $(LKM) $(LKMR) 82 -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' 83 -/bin/rm -f ../tools ./tools 84 -ln -s ../tools . 85 -ln -s ../tools .. 86 87bpf.h: 88 echo '#define DEV_BPF 1' > bpf.h 89 90$(TOP)/ip_compat.h: bpf.h 91 92machine: Makefile.kmod 93 if [ -f Makefile.kmod ] ; then \ 94 make -f Makefile.kmod depend MKUPDATE=no; \ 95 fi 96 97Makefile.kmod: 98 if [ -f /usr/share/mk/bsd.kmod.mk -a "`uname -s`" = "NetBSD" ] ; then \ 99 rm -f Makefile.kmod; \ 100 ln -s /usr/share/mk/bsd.kmod.mk Makefile.kmod; \ 101 fi 102 103ipfstat: $(FILS) $(OBJ)/libipf.a 104 $(CC) $(CCARGS) $(STATETOP_CFLAGS) $(STATETOP_INC) $(FILS) \ 105 -o $@ $(LIBS) $(STATETOP_LIB) -lkvm 106 107ipf: $(IPF) $(OBJ)/libipf.a 108 $(CC) $(CCARGS) $(IPF) -o $@ $(LIBS) -ll $(LIBBPF) 109 110ipftest: $(IPT) $(OBJ)/libipf.a 111 $(CC) $(CCARGS) $(IPT) -o $@ $(LIBS) -ll $(LIBBPF) 112 113ipnat: $(IPNAT) $(OBJ)/libipf.a 114 $(CC) $(CCARGS) $(IPNAT) -o $@ $(LIBS) -lkvm -ll 115 116ipfs: ipfs.o 117 $(CC) $(CCARGS) ipfs.o -o $@ 118 119ipsyncm: ipsyncm.o $(OBJ)/libipf.a 120 $(CC) $(CCARGS) ipsyncm.o -o $@ $(LIBS) 121 122ipsyncs: ipsyncs.o $(OBJ)/libipf.a 123 $(CC) $(CCARGS) ipsyncs.o -o $@ $(LIBS) 124 125ipsyncm.o: $(TOOL)/ipsyncm.c $(TOP)/ip_sync.h 126 $(CC) $(CCARGS) -c $(TOOL)/ipsyncm.c -o $@ 127 128ipsyncs.o: $(TOOL)/ipsyncs.c $(TOP)/ip_sync.h 129 $(CC) $(CCARGS) -c $(TOOL)/ipsyncs.c -o $@ 130 131tests: 132 (cd test; make ) 133 134ipfstat.o: $(TOOL)/ipfstat.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_frag.h \ 135 $(TOP)/ip_compat.h $(TOP)/ip_state.h $(TOP)/ip_nat.h $(TOP)/opts.h 136 $(CC) $(CCARGS) $(STATETOP_CFLAGS) $(STATETOP_INC) \ 137 -c $(TOOL)/ipfstat.c -o $@ 138 139ipfs.o: $(TOOL)/ipfs.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_state.h \ 140 $(TOP)/ip_nat.h $(TOP)/opts.h 141 $(CC) $(CCARGS) -c $(TOOL)/ipfs.c -o $@ 142 143fil_u.o: $(TOP)/fil.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_compat.h \ 144 $(TOP)/opts.h $(TOP)/ip_rules.h 145 $(CC) $(CCARGS) $(EXTRA) $(IPFBPF) -c $(TOP)/fil.c -o $@ 146 147fil.o: $(TOP)/fil.c $(TOP)/ip_fil.h $(TOP)/ip_compat.h $(TOP)/ipl.h \ 148 $(TOP)/ip_rules.h 149 $(CC) $(KCARGS) $(POLICY) $(DFLAGS) $(IPFBPF) $(COMPIPF) \ 150 -c $(TOP)/fil.c -o $@ 151 152ipf.o: $(TOOL)/ipf.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/opts.h 153 $(CC) $(CCARGS) -c $(TOOL)/ipf.c -o $@ 154 155ipfcomp.o: $(TOOL)/ipfcomp.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/opts.h 156 $(CC) $(CCARGS) -c $(TOOL)/ipfcomp.c -o $@ 157 158ipftest.o: $(TOOL)/ipftest.c $(TOP)/ip_fil.h $(TOP)/ipt.h $(TOP)/ipf.h \ 159 $(TOP)/opts.h 160 $(CC) $(CCARGS) -c $(TOOL)/ipftest.c -o $@ 161 162ipnat.o: $(TOOL)/ipnat.c $(TOP)/ip_fil.h $(TOP)/ipf.h $(TOP)/ip_nat.h \ 163 $(TOP)/opts.h 164 $(CC) $(CCARGS) -c $(TOOL)/ipnat.c -o $@ 165 166ipnat_y.o: ipnat_y.c ipnat_y.h ipnat_l.h 167 $(CC) $(CCARGS) -c ipnat_y.c -o $@ 168 169ipnat_l.o: ipnat_l.c ipnat_y.h 170 $(CC) $(CCARGS) -I. -c ipnat_l.c -o $@ 171 172ipnat_y.c: $(TOOL)/ipnat_y.y 173 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 174 175ipnat_y.h: ipnat_y.c 176 177ipnat_l.c: $(TOOL)/lexer.c $(TOP)/ip_nat.h 178 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 179 180ipnat_l.h: $(TOOL)/lexer.h 181 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 182 183ip_nat_u.o: $(TOP)/ip_nat.c $(TOP)/ip_nat.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h 184 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_nat.c -o $@ 185 186ip_proxy_u.o: $(TOP)/ip_proxy.c $(TOP)/ip_proxy.h $(TOP)/ip_compat.h \ 187 $(TOP)/ip_fil.h $(PROXYLIST) $(TOP)/ip_nat.h 188 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_proxy.c -o $@ 189 190ip_frag_u.o: $(TOP)/ip_frag.c $(TOP)/ip_frag.h $(TOP)/ip_compat.h \ 191 $(TOP)/ip_fil.h 192 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_frag.c -o $@ 193 194ip_state_u.o: $(TOP)/ip_state.c $(TOP)/ip_state.h $(TOP)/ip_compat.h \ 195 $(TOP)/ip_fil.h $(TOP)/ip_nat.h 196 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_state.c -o $@ 197 198ip_auth_u.o: $(TOP)/ip_auth.c $(TOP)/ip_auth.h $(TOP)/ip_compat.h \ 199 $(TOP)/ip_fil.h 200 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_auth.c -o $@ 201 202ip_fil_u.o: $(TOP)/ip_fil.c $(TOP)/ip_fil.h $(TOP)/ip_compat.h 203 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_fil.c -o $@ 204 205ip_rules_u.o: ip_rules.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 206 $(TOP)/ip_rules.h 207 $(CC) $(CCARGS) $(EXTRA) -c ip_rules.c -o $@ 208 209ip_scan_u.o: $(TOP)/ip_scan.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 210 $(TOP)/ip_scan.h 211 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_scan.c -o $@ 212 213ip_sync_u.o: $(TOP)/ip_sync.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 214 $(TOP)/ip_sync.h 215 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_sync.c -o $@ 216 217ip_pool_u.o: $(TOP)/ip_pool.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 218 $(TOP)/ip_pool.h 219 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_pool.c -o $@ 220 221ip_htable_u.o: $(TOP)/ip_htable.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 222 $(TOP)/ip_htable.h 223 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_htable.c -o $@ 224 225ip_lookup_u.o: $(TOP)/ip_lookup.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 226 $(TOP)/ip_lookup.h $(TOP)/ip_pool.h $(TOP)/ip_htable.h 227 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_lookup.c -o $@ 228 229ip_trafcon_u.o: $(TOP)/ip_trafcon.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 230 $(TOP)/ip_trafcon.h 231 $(CC) $(CCARGS) -c $(TOP)/ip_trafcon.c -o $@ 232 233ip_log_u.o: $(TOP)/ip_log.c $(TOP)/ip_fil.h $(TOP)/ip_compat.h 234 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/ip_log.c -o $@ 235 236md5_u.o: $(TOP)/md5.c $(TOP)/md5.h 237 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/md5.c -o $@ 238 239radix_u.o: $(TOP)/md5.c $(TOP)/radix_ipf.h 240 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/radix.c -o $@ 241 242bpf_filter_u.o: $(TOP)/bpf_filter.c $(TOP)/pcap-ipf.h 243 $(CC) $(CCARGS) $(EXTRA) -c $(TOP)/bpf_filter.c -o $@ 244 245if_ipl.o: $(MODOBJS) 246 ld -r $(MODOBJS) -o $(LKM) 247 ${RM} -f if_ipl 248 249ipfrule.ko.5: ip_rulesx.o $(MLR) 250 ld -warn-common -r -d -o $(.TARGET:S/.ko/.kld/) ip_rulesx.o $(MLR) 251 ld -Bshareable -d -warn-common -o $(LKMR:S/.5$//) $(.TARGET:S/.ko/.kld/) 252ipfrule.ko: ip_rulesx.o $(MLR) 253 gensetdefs ip_rulesx.o $(MLR) 254 $(CC) $(KCARGS) -c setdef0.c 255 $(CC) $(KCARGS) -c setdef1.c 256 ld -Bshareable -o $@ setdef0.o ip_rulesx.o $(MLR) setdef1.o 257 258ipf.ko.5 ipl.ko.5: $(MODOBJS) 259 ld -warn-common -r -d -o $(.TARGET:S/.ko/.kld/) $(MODOBJS) 260 ld -Bshareable -d -warn-common -o $(LKM:S/.5$//) $(.TARGET:S/.ko/.kld/) 261 262ipf.ko ipl.ko: $(MODOBJS) 263 gensetdefs $(MODOBJS) 264 $(CC) $(KCARGS) -c setdef0.c 265 $(CC) $(KCARGS) -c setdef1.c 266 ld -Bshareable -o $@ setdef0.o $(MODOBJS) setdef1.o 267 268ip_nat.o: $(TOP)/ip_nat.c $(TOP)/ip_nat.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h 269 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_nat.c -o $@ 270 271ip_frag.o: $(TOP)/ip_frag.c $(TOP)/ip_frag.h $(TOP)/ip_compat.h $(TOP)/ip_fil.h 272 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_frag.c -o $@ 273 274ip_state.o: $(TOP)/ip_state.c $(TOP)/ip_state.h $(TOP)/ip_compat.h \ 275 $(TOP)/ip_fil.h $(TOP)/ip_nat.h 276 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_state.c -o $@ 277 278ip_proxy.o: $(TOP)/ip_proxy.c $(TOP)/ip_proxy.h $(TOP)/ip_compat.h \ 279 $(TOP)/ip_fil.h $(PROXYLIST) $(TOP)/ip_nat.h 280 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_proxy.c -o $@ 281 282ip_auth.o: $(TOP)/ip_auth.c $(TOP)/ip_auth.h $(TOP)/ip_compat.h \ 283 $(TOP)/ip_fil.h 284 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_auth.c -o $@ 285 286ip_fil.c: 287 /bin/rm -f ip_fil.c 288 ln -s $(TOP)/ip_fil_`uname -s|tr A-Z a-z`.c ip_fil.c 289 290ip_fil.o: ip_fil.c $(TOP)/ip_fil.h $(TOP)/ip_compat.h $(TOP)/ip_nat.h 291 $(CC) $(KCARGS) $(DFLAGS) $(COMPIPF) -c ip_fil.c -o $@ 292 293ip_log.o: $(TOP)/ip_log.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h 294 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_log.c -o $@ 295 296ip_scan.o: $(TOP)/ip_scan.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(TOP)/ip_scan.h 297 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_scan.c -o $@ 298 299ip_sync.o: $(TOP)/ip_sync.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h $(TOP)/ip_sync.h 300 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_sync.c -o $@ 301 302ip_pool.o: $(TOP)/ip_pool.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 303 $(TOP)/ip_lookup.h $(TOP)/ip_pool.h 304 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_pool.c -o $@ 305 306ip_htable.o: $(TOP)/ip_htable.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 307 $(TOP)/ip_lookup.h $(TOP)/ip_htable.h 308 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_htable.c -o $@ 309 310ip_lookup.o: $(TOP)/ip_lookup.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 311 $(TOP)/ip_pool.h $(TOP)/ip_htable.h $(TOP)/ip_lookup.h 312 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_lookup.c -o $@ 313 314ip_trafcon.o: $(TOP)/ip_trafcon.c $(TOP)/ip_compat.h $(TOP)/ip_fil.h \ 315 $(TOP)/ip_trafcon.h 316 $(CC) $(KCARGS) $(DFLAGS) -c $(TOP)/ip_trafcon.c -o $@ 317 318vnode_if.h: $(VNODESHDIR)/vnode_if.src 319 mkdir -p ../sys 320 if [ -f $(VNODESHDIR)/vnode_if.sh ] ; then \ 321 sh $(VNODESHDIR)/vnode_if.sh $(VNODESHDIR)/vnode_if.src; \ 322 fi 323 if [ -f $(VNODESHDIR)/vnode_if.pl ] ; then \ 324 perl $(VNODESHDIR)/vnode_if.pl $(VNODESHDIR)/vnode_if.src; \ 325 fi 326 if [ -f ../sys/vnode_if.h ] ; then mv ../sys/vnode_if.h .; fi 327 rmdir ../sys 328 329ml_ipl.o: vnode_if.h $(TOP)/$(MLD) $(TOP)/ipl.h 330 -/bin/rm -f vnode_if.c 331 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/$(ML) -o $@ 332 333ip_rules.o: ip_rules.c $(TOP)/ip_rules.h 334 $(CC) -I. $(CFLAGS) $(DFLAGS) $(COMPIPF) -c ip_rules.c -o $@ 335 336ip_rules.c: $(TOP)/rules/ip_rules $(TOP)/tools/ipfcomp.c ipf 337 ./ipf -cc -nf $(TOP)/rules/ip_rules 338 339$(TOP)/ip_rules.h: ip_rules.c 340 if [ ! -f $(TOP)/ip_rules.h ] ; then \ 341 /bin/mv -f ip_rules.h $(TOP); \ 342 else \ 343 touch $(TOP)/ip_rules.h; \ 344 fi 345 346ip_rulesx.o: ip_rules.c $(TOP)/ip_rules.h 347 $(CC) -I. $(CFLAGS) $(DFLAGS) -DIPFILTER_COMPILED -c ip_rules.c -o $@ 348 349mlf_rule.o: $(TOP)/mlf_rule.c $(TOP)/ip_rules.h 350 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/mlf_rule.c -o $@ 351 352mln_rule.o: $(TOP)/mln_rule.c $(TOP)/ip_rules.h 353 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/mln_rule.c -o $@ 354 355mlo_rule.o: $(TOP)/mlo_rule.c $(TOP)/ip_rules.h 356 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/mlo_rule.c -o $@ 357 358mlfk_rule.o: $(TOP)/mlfk_rule.c $(TOP)/ip_rules.h 359 $(CC) -I. $(CFLAGS) $(DFLAGS) -c $(TOP)/mlfk_rule.c -o $@ 360 361ipf_y.o: ipf_y.c ipf_y.h $(TOP)/ipf.h ipf_l.h $(TOP)/opts.h 362 $(CC) $(CCARGS) $(IPFBPF) -c ipf_y.c -o $@ 363 364ipf_l.o: ipf_l.c ipf_y.h $(TOP)/ipf.h ipf_l.h $(TOP)/opts.h 365 $(CC) $(CCARGS) -I. -c ipf_l.c -o $@ 366 367ipf_y.c: $(TOOL)/ipf_y.y $(TOP)/ipf.h $(TOP)/opts.h 368 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 369 370ipf_y.h: ipf_y.c 371 372ipf_l.c: $(TOOL)/lexer.c $(TOP)/ipf.h $(TOP)/opts.h 373 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 374 375ipf_l.h: $(TOOL)/lexer.h 376 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 377 378ipmon: $(IPMON) $(OBJ)/libipf.a 379 $(CC) $(CCARGS) $(IPMON) -o $@ $(LIBS) -ll 380 381ipmon.o: $(TOOL)/ipmon.c $(TOP)/ipmon.h 382 $(CC) $(CCARGS) $(LOGFAC) -c $(TOOL)/ipmon.c -o $@ 383 384ipmon_y.o: ipmon_y.c ipmon_y.h $(TOP)/ipmon.h ipmon_l.h 385 $(CC) $(CCARGS) -c ipmon_y.c -o $@ 386 387ipmon_l.o: ipmon_l.c ipmon_y.h $(TOP)/ipmon.h 388 $(CC) $(CCARGS) -I. -c ipmon_l.c -o $@ 389 390ipmon_y.c: $(TOOL)/ipmon_y.y $(TOP)/ipmon.h 391 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 392 393ipmon_y.h: ipmon_y.c 394 395ipmon_l.c: $(TOOL)/lexer.c $(TOP)/ipmon.h 396 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 397 398ipmon_l.h: $(TOOL)/lexer.h 399 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 400 401ipscan: ipscan_y.o ipscan_l.o 402 $(CC) $(DEBUG) ipscan_y.o ipscan_l.o -o $@ -ll $(LIBS) -lkvm 403 404ipscan_y.o: ipscan_y.c ipscan_y.h $(TOP)/ip_scan.h ipscan_l.h 405 $(CC) $(CCARGS) -c ipscan_y.c -o $@ 406 407ipscan_l.o: ipscan_l.c ipscan_y.h $(TOP)/ip_scan.h 408 $(CC) $(CCARGS) -I. -c ipscan_l.c -o $@ 409 410ipscan_y.c: $(TOOL)/ipscan_y.y $(TOP)/ip_scan.h 411 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 412 413ipscan_y.h: ipscan_y.c 414 415ipscan_l.c ipscan_l.h: $(TOOL)/lexer.c $(TOP)/ip_scan.h 416 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 417 418ippool: $(IPPOOL) $(OBJ)/libipf.a 419 $(CC) $(DEBUG) -I. $(CFLAGS) $(IPPOOL) -o $@ -ll -lkvm -L. -lipf 420 421ippool.o: $(TOOL)/ippool.c $(TOP)/ip_pool.h 422 $(CC) $(CCARGS) -c $(TOOL)/ippool.c -o $@ 423 424ippool_y.o: ippool_y.c ippool_y.h $(TOP)/ip_pool.h ippool_l.h 425 $(CC) $(CCARGS) -c ippool_y.c -o $@ 426 427ippool_l.o: ippool_l.c ippool_y.h $(TOP)/ip_pool.h 428 $(CC) $(CCARGS) -I. -c ippool_l.c -o $@ 429 430ippool_y.c: $(TOOL)/ippool_y.y $(TOP)/ip_pool.h ippool_l.h 431 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 432 433ippool_y.h: ippool_y.c 434 435ippool_l.c: $(TOOL)/lexer.c $(TOP)/ip_pool.h 436 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 437 438ippool_l.h: $(TOOL)/lexer.h 439 (cd $(TOOL); make "DEST=$(HERE)" $(HERE)/$@) 440 441iptrafcon.o: $(TOP)/iptrafcon.c 442 $(CC) $(CCARGS) -c $< -o $@ 443 444iptrafcon: $(IPTRAFCON) $(OBJ)/libipf.a 445 $(CC) $(CCARGS) $(IPTRAFCON) -o $@ $(LIBS) 446 447.y.c: 448 449.l.c: 450 451clean: 452 ${RM} -f ../ipf ../ipnat ../ipmon ../ippool ../ipftest 453 ${RM} -f ../ipscan ../ipsyncm ../ipsyncs 454 ${RM} -f *.core *.o *.a ipt ipfstat ipf ipfstat ipftest ipmon 455 ${RM} -f if_ipl ipnat ipfrule.ko* ipf.kld* ipfrule.kld* 456 ${RM} -f vnode_if.h $(LKM) ioconf.h *.ko setdef1.c setdef0.c setdefs.h 457 ${RM} -f ip_fil.c ipf_l.c ipf_y.c ipf_y.h ipf_l.h 458 ${RM} -f ipscan ipscan_y.c ipscan_y.h ipscan_l.c ipscan_l.h 459 ${RM} -f ippool ippool_y.c ippool_y.h ippool_l.c ippool_l.h 460 ${RM} -f ipnat_y.c ipnat_y.h ipnat_l.c ipnat_l.h 461 ${RM} -f ipmon_y.c ipmon_y.h ipmon_l.c ipmon_l.h 462 ${RM} -f ipsyncm ipsyncs ipfs ip_rules.c ip_rules.h bpf.h 463 ${RM} -f *.da *.gcov *.bb *.bbg tools 464 465 ${MAKE} -f Makefile.ipsend ${MFLAGS} clean 466 if [ -f Makefile.kmod ] ; then \ 467 ${MAKE} -f Makefile.kmod ${MFLAGS} clean; \ 468 fi 469 -(for i in *; do \ 470 if [ -d $${i} -a -f $${i}/Makefile ] ; then \ 471 cd $${i}; (make TOP=../.. clean); cd ..; \ 472 /bin/rm -f $${i}/Makefile $${i}/Makefile.ipsend; \ 473 /bin/rm -f $${i}/Makefile.kmod; \ 474 rmdir $${i}; \ 475 fi \ 476 done) 477 478install: 479 for i in ip_compat.h ip_fil.h ip_nat.h ip_state.h ip_proxy.h \ 480 ip_frag.h ip_auth.h; do \ 481 /bin/cp $(TOP)/$$i /usr/include/netinet/; \ 482 $(CHMOD) 444 /usr/include/netinet/$$i; \ 483 done 484 -if [ -d /lkm -a -f if_ipl.o ] ; then \ 485 cp if_ipl.o /lkm; \ 486 fi 487 -if [ -d /modules -a -f ipf.ko ] ; then \ 488 if [ -f /modules/ipl.ko ] ; then \ 489 cp ipf.ko /modules/ipl.ko; \ 490 else \ 491 cp ipf.ko /modules; \ 492 fi \ 493 fi 494 -if [ -d /modules -a -f ipfrule.ko ] ; then \ 495 cp ipfrule.ko /modules; \ 496 fi 497 -if [ -d /boot/kernel -a -f ipf.ko ] ; then \ 498 if [ -f /boot/kernel/ipl.ko ] ; then \ 499 cp ipf.ko /boot/kernel/ipl.ko; \ 500 else \ 501 cp ipf.ko /boot/kernel; \ 502 fi \ 503 fi 504 -if [ -d /boot/kernel -a -f ipfrule.ko ] ; then \ 505 cp ipfrule.ko /boot/kernel; \ 506 fi 507 -if [ -d /usr/lkm -a -f if_ipl.o ] ; then \ 508 cp if_ipl.o /usr/lkm; \ 509 fi 510 -$(INSTALL) -cs -g wheel -m 755 -o root ipscan $(SBINDEST) 511 (cd $(TOP)/man; make INSTALL=$(INSTALL) MANDIR=$(MANDIR) install; cd $(TOP)) 512 @for i in ipf:$(SBINDEST) ipfs:$(SBINDEST) ipnat:$(SBINDEST) \ 513 ippool:$(BINDEST) ipsyncm:$(BINDEST) ipsyncs:$(BINDEST) \ 514 ipfstat:$(SBINDEST) ipftest:$(SBINDEST) ipmon:$(BINDEST); do \ 515 def="`expr $$i : '[^:]*:\(.*\)'`"; \ 516 p="`expr $$i : '\([^:]*\):.*'`"; \ 517 dd=; \ 518 for d in $(SEARCHDIRS); do \ 519 if [ -f $$d/$$p ] ; then \ 520 echo "$(INSTALL) -cs -g wheel -m 755 -o root $$p $$d"; \ 521 $(INSTALL) -cs -g wheel -m 755 -o root $$p $$d; \ 522 dd=XXX; \ 523 fi; \ 524 done; \ 525 if [ -z "$$dd" ] ; then \ 526 echo $(INSTALL) -cs -g wheel -m 755 -o root $$p $$def; \ 527 $(INSTALL) -cs -g wheel -m 755 -o root $$p $$def; \ 528 fi \ 529 done 530 if [ -d /etc/rc.d ] ; then \ 531 $(INSTALL) -c -g wheel -m 755 -o root ../ipfadm-rcd $(SBINDEST)/ipfadm; \ 532 fi 533 (cd $(TOP)/man; make INSTALL=$(INSTALL) MANDIR=$(MANDIR) install; cd $(TOP)) 534 535coverage: 536 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 -k 1n -k 3n > report 537 sort -k 1n -k 3n 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 538 539clean-coverage: 540 /bin/rm -f *.gcov *.da 541