1609c8587SJordan K. Hubbard# Makefile for libpcap 27f3dea24SPeter Wemm# $FreeBSD$ 3609c8587SJordan K. Hubbard 418b2ee82SBaptiste DaroussinSHLIBDIR?= /lib 58f01da43SRuslan Ermilov 6c6063d0dSWarner Losh.include <src.opts.mk> 7e1fe3dbaSRuslan Ermilov 8a70cba95SGlen BarberPACKAGE=lib${LIB} 9609c8587SJordan K. HubbardLIB= pcap 10*b00ab754SHans Petter Selasky 11*b00ab754SHans Petter SelaskySRCS= bpf_dump.c \ 12*b00ab754SHans Petter Selasky bpf_filter.c \ 13*b00ab754SHans Petter Selasky bpf_image.c \ 14*b00ab754SHans Petter Selasky etherent.c \ 15*b00ab754SHans Petter Selasky fad-getad.c \ 16*b00ab754SHans Petter Selasky fmtutils.c \ 17*b00ab754SHans Petter Selasky gencode.c \ 18*b00ab754SHans Petter Selasky grammar.y \ 19*b00ab754SHans Petter Selasky nametoaddr.c \ 20*b00ab754SHans Petter Selasky optimize.c \ 21*b00ab754SHans Petter Selasky pcap-bpf.c \ 22*b00ab754SHans Petter Selasky pcap-common.c \ 23*b00ab754SHans Petter Selasky pcap-netmap.c \ 24*b00ab754SHans Petter Selasky pcap-netmap.h \ 25*b00ab754SHans Petter Selasky pcap.c \ 26*b00ab754SHans Petter Selasky savefile.c \ 27*b00ab754SHans Petter Selasky scanner.l \ 28*b00ab754SHans Petter Selasky sf-pcap.c \ 29*b00ab754SHans Petter Selasky sf-pcapng.c \ 30*b00ab754SHans Petter Selasky tokdefs.h 31919b495cSRui Paulo 32919b495cSRui Paulo# Old compatibility headers 33*b00ab754SHans Petter SelaskyINCS= fmtutils.h \ 34*b00ab754SHans Petter Selasky pcap-bpf.h \ 35*b00ab754SHans Petter Selasky pcap-namedb.h \ 36*b00ab754SHans Petter Selasky pcap-netmap.h \ 37*b00ab754SHans Petter Selasky pcap.h 38919b495cSRui Paulo 39*b00ab754SHans Petter SelaskyPCAPINCS= \ 40*b00ab754SHans Petter Selasky pcap/bluetooth.h \ 41*b00ab754SHans Petter Selasky pcap/bpf.h \ 42*b00ab754SHans Petter Selasky pcap/can_socketcan.h \ 43*b00ab754SHans Petter Selasky pcap/compiler-tests.h \ 44*b00ab754SHans Petter Selasky pcap/dlt.h \ 45*b00ab754SHans Petter Selasky pcap/funcattrs.h \ 46*b00ab754SHans Petter Selasky pcap/ipnet.h \ 47*b00ab754SHans Petter Selasky pcap/namedb.h \ 48*b00ab754SHans Petter Selasky pcap/nflog.h \ 49*b00ab754SHans Petter Selasky pcap/pcap-inttypes.h \ 50*b00ab754SHans Petter Selasky pcap/pcap.h \ 51*b00ab754SHans Petter Selasky pcap/sll.h \ 52*b00ab754SHans Petter Selasky pcap/usb.h \ 53*b00ab754SHans Petter Selasky pcap/vlan.h 54*b00ab754SHans Petter Selasky 55919b495cSRui PauloPCAPINCSDIR= ${INCLUDEDIR}/pcap 56919b495cSRui PauloINCSGROUPS= INCS PCAPINCS 57919b495cSRui Paulo 5828510af5SRui PauloMAN= pcap.3 \ 5928510af5SRui Paulo pcap_activate.3 \ 6028510af5SRui Paulo pcap_breakloop.3 \ 6128510af5SRui Paulo pcap_can_set_rfmon.3 \ 6228510af5SRui Paulo pcap_close.3 \ 6328510af5SRui Paulo pcap_compile.3 \ 6428510af5SRui Paulo pcap_create.3 \ 6528510af5SRui Paulo pcap_datalink.3 \ 6628510af5SRui Paulo pcap_datalink_name_to_val.3 \ 6728510af5SRui Paulo pcap_datalink_val_to_name.3 \ 6828510af5SRui Paulo pcap_dump.3 \ 6928510af5SRui Paulo pcap_dump_close.3 \ 7028510af5SRui Paulo pcap_dump_file.3 \ 7128510af5SRui Paulo pcap_dump_flush.3 \ 7228510af5SRui Paulo pcap_dump_ftell.3 \ 7328510af5SRui Paulo pcap_dump_open.3 \ 7428510af5SRui Paulo pcap_file.3 \ 7528510af5SRui Paulo pcap_fileno.3 \ 7628510af5SRui Paulo pcap_findalldevs.3 \ 7728510af5SRui Paulo pcap_freecode.3 \ 78*b00ab754SHans Petter Selasky pcap_get_required_select_timeout.3 \ 7928510af5SRui Paulo pcap_get_selectable_fd.3 \ 80681ed54cSXin LI pcap_get_tstamp_precision.3 \ 8128510af5SRui Paulo pcap_geterr.3 \ 8228510af5SRui Paulo pcap_inject.3 \ 8328510af5SRui Paulo pcap_is_swapped.3 \ 8428510af5SRui Paulo pcap_lib_version.3 \ 8528510af5SRui Paulo pcap_list_datalinks.3 \ 86d1e87331SXin LI pcap_list_tstamp_types.3 \ 8728510af5SRui Paulo pcap_lookupdev.3 \ 8828510af5SRui Paulo pcap_lookupnet.3 \ 8928510af5SRui Paulo pcap_loop.3 \ 9028510af5SRui Paulo pcap_major_version.3 \ 9128510af5SRui Paulo pcap_next_ex.3 \ 9228510af5SRui Paulo pcap_offline_filter.3 \ 9328510af5SRui Paulo pcap_open_dead.3 \ 9428510af5SRui Paulo pcap_open_live.3 \ 9528510af5SRui Paulo pcap_open_offline.3 \ 9628510af5SRui Paulo pcap_set_buffer_size.3 \ 9728510af5SRui Paulo pcap_set_datalink.3 \ 98681ed54cSXin LI pcap_set_immediate_mode.3 \ 9928510af5SRui Paulo pcap_set_promisc.3 \ 100*b00ab754SHans Petter Selasky pcap_set_protocol.3 \ 10128510af5SRui Paulo pcap_set_rfmon.3 \ 10228510af5SRui Paulo pcap_set_snaplen.3 \ 10328510af5SRui Paulo pcap_set_timeout.3 \ 104681ed54cSXin LI pcap_set_tstamp_precision.3 \ 105d1e87331SXin LI pcap_set_tstamp_type.3 \ 10628510af5SRui Paulo pcap_setdirection.3 \ 10728510af5SRui Paulo pcap_setfilter.3 \ 10828510af5SRui Paulo pcap_setnonblock.3 \ 10928510af5SRui Paulo pcap_snapshot.3 \ 11028510af5SRui Paulo pcap_stats.3 \ 11128510af5SRui Paulo pcap_statustostr.3 \ 11228510af5SRui Paulo pcap_strerror.3 \ 113d1e87331SXin LI pcap_tstamp_type_name_to_val.3 \ 114*b00ab754SHans Petter Selasky pcap_tstamp_type_val_to_name.3 115*b00ab754SHans Petter Selasky 116*b00ab754SHans Petter SelaskyMLINKS= \ 117*b00ab754SHans Petter Selasky pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \ 11828510af5SRui Paulo pcap_dump_open.3 pcap_dump_fopen.3 \ 119d1e87331SXin LI pcap_findalldevs.3 pcap_freealldevs.3 \ 12028510af5SRui Paulo pcap_geterr.3 pcap_perror.3 \ 12128510af5SRui Paulo pcap_inject.3 pcap_sendpacket.3 \ 122d1e87331SXin LI pcap_list_datalinks.3 pcap_free_datalinks.3 \ 123d1e87331SXin LI pcap_list_tstamp_types.3 pcap_free_tstamp_types.3 \ 12428510af5SRui Paulo pcap_loop.3 pcap_dispatch.3 \ 12528510af5SRui Paulo pcap_major_version.3 pcap_minor_version.3 \ 12628510af5SRui Paulo pcap_next_ex.3 pcap_next.3 \ 12728510af5SRui Paulo pcap_open_offline.3 pcap_fopen_offline.3 \ 12828510af5SRui Paulo pcap_setnonblock.3 pcap_getnonblock.3 12957b00b99SPawel Jakub Dawidek 13079df4466SRui Paulo# Our man pages are a special copy from the distdir. See below. 13128510af5SRui PauloCLEANFILES+=${MAN} 132*b00ab754SHans Petter SelaskyCLEANFILES+=tokdefs.h scanner.h 133bf18e76aSPaul Traina 134ada6f083SXin LIYFLAGS+=-p pcap_ 135ada6f083SXin LILFLAGS+=-Ppcap_ --header-file=${.OBJDIR}/scanner.h --nounput 136ada6f083SXin LICFLAGS+=-DHAVE_CONFIG_H -I${.CURDIR} -I${.OBJDIR} 137eb9f0330SBruce M SimpsonCFLAGS+=-D_U_="__attribute__((unused))" 138eb9f0330SBruce M SimpsonCFLAGS+=-DHAVE_SNPRINTF -DHAVE_VSNPRINTF 139ada6f083SXin LICFLAGS+=-DBUILDING_PCAP 140e1fe3dbaSRuslan Ermilov.if ${MK_INET6_SUPPORT} != "no" 141f3952ecbSBruce EvansCFLAGS+=-DINET6 1424f9bc6c6SSteve Price.endif 1433bc70204SMax Laier.if ${MK_PF} != "no" 1443bc70204SMax LaierCFLAGS+=-DHAVE_NET_PFVAR_H 1453bc70204SMax Laier.endif 146bf18e76aSPaul Traina 147*b00ab754SHans Petter SelaskyCFLAGS+= -DPCAP_SUPPORT_NETMAP 148*b00ab754SHans Petter Selasky 149*b00ab754SHans Petter Selasky.if ${MK_OFED} != "no" 150*b00ab754SHans Petter SelaskySRCS+= pcap-rdmasniff.c 151*b00ab754SHans Petter SelaskyLIBADD+= ibverbs 152*b00ab754SHans Petter SelaskyLIBADD+= mlx5 153*b00ab754SHans Petter SelaskyCFLAGS+= -DPCAP_SUPPORT_RDMASNIFF 154*b00ab754SHans Petter Selasky.endif 155*b00ab754SHans Petter Selasky 156daaf5759SEd SchoutenWARNS?= 0 157daaf5759SEd Schouten 1587596eb48SKonstantin BelousovSHLIB_MAJOR= 8 1590db59933SPaul Traina 160bf18e76aSPaul Traina# 161bf18e76aSPaul Traina# Magic to grab sources out of src/contrib 162bf18e76aSPaul Traina# 1637423a047SEnji CooperPCAP_DISTDIR?=${SRCTOP}/contrib/libpcap 16446da4bc6SBill FennerCFLAGS+=-I${PCAP_DISTDIR} 1659f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR} 1669f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR}/bpf/net 167bf18e76aSPaul Traina 168b791fbe6SBryan Drewerytokdefs.h: grammar.h .NOMETA 169b791fbe6SBryan Drewery ln -sf ${.ALLSRC} ${.TARGET} 17028510af5SRui Paulo 17128510af5SRui Paulo# 17228510af5SRui Paulo# Magic to convert the man pages to something non Solarish 17328510af5SRui Paulo# 17428510af5SRui Paulo.for _page in ${MAN} 17528510af5SRui Paulo${_page}: 17628510af5SRui Paulo if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then \ 17728510af5SRui Paulo F=${_page:S/3$/3pcap/}; \ 178*b00ab754SHans Petter Selasky elif [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap.in/} ]; then \ 179*b00ab754SHans Petter Selasky F=${_page:S/3$/3pcap.in/}; \ 180*b00ab754SHans Petter Selasky elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile.in/} ]; then \ 181*b00ab754SHans Petter Selasky F=${_page:S/5$/manfile.in/}; \ 18228510af5SRui Paulo elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then \ 18328510af5SRui Paulo F=${_page:S/5$/manfile/}; \ 18428510af5SRui Paulo else \ 185*b00ab754SHans Petter Selasky F=${_page:S/7$/manmisc.in/}; \ 18628510af5SRui Paulo fi; \ 18728510af5SRui Paulo sed -e 's/3PCAP/3/g' ${PCAP_DISTDIR}/$$F > ${_page} 18828510af5SRui Paulo.endfor 18928510af5SRui Paulo 190609c8587SJordan K. Hubbard.include <bsd.lib.mk> 191