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 10b00ab754SHans Petter Selasky 11b00ab754SHans Petter SelaskySRCS= bpf_dump.c \ 12b00ab754SHans Petter Selasky bpf_filter.c \ 13b00ab754SHans Petter Selasky bpf_image.c \ 14b00ab754SHans Petter Selasky etherent.c \ 15b00ab754SHans Petter Selasky fad-getad.c \ 16b00ab754SHans Petter Selasky fmtutils.c \ 17b00ab754SHans Petter Selasky gencode.c \ 18b00ab754SHans Petter Selasky grammar.y \ 19b00ab754SHans Petter Selasky nametoaddr.c \ 20b00ab754SHans Petter Selasky optimize.c \ 21b00ab754SHans Petter Selasky pcap-bpf.c \ 22b00ab754SHans Petter Selasky pcap-common.c \ 23b00ab754SHans Petter Selasky pcap-netmap.c \ 24b00ab754SHans Petter Selasky pcap.c \ 25b00ab754SHans Petter Selasky savefile.c \ 26b00ab754SHans Petter Selasky scanner.l \ 27b00ab754SHans Petter Selasky sf-pcap.c \ 28b00ab754SHans Petter Selasky sf-pcapng.c \ 29b00ab754SHans Petter Selasky tokdefs.h 30919b495cSRui Paulo 31919b495cSRui Paulo# Old compatibility headers 32b00ab754SHans Petter SelaskyINCS= fmtutils.h \ 33b00ab754SHans Petter Selasky pcap-bpf.h \ 34b00ab754SHans Petter Selasky pcap-namedb.h \ 35b00ab754SHans Petter Selasky pcap-netmap.h \ 36b00ab754SHans Petter Selasky pcap.h 37919b495cSRui Paulo 38b00ab754SHans Petter SelaskyPCAPINCS= \ 39b00ab754SHans Petter Selasky pcap/bluetooth.h \ 40b00ab754SHans Petter Selasky pcap/bpf.h \ 41b00ab754SHans Petter Selasky pcap/can_socketcan.h \ 42b00ab754SHans Petter Selasky pcap/compiler-tests.h \ 43b00ab754SHans Petter Selasky pcap/dlt.h \ 44b00ab754SHans Petter Selasky pcap/funcattrs.h \ 45b00ab754SHans Petter Selasky pcap/ipnet.h \ 46b00ab754SHans Petter Selasky pcap/namedb.h \ 47b00ab754SHans Petter Selasky pcap/nflog.h \ 48b00ab754SHans Petter Selasky pcap/pcap-inttypes.h \ 49b00ab754SHans Petter Selasky pcap/pcap.h \ 50b00ab754SHans Petter Selasky pcap/sll.h \ 51b00ab754SHans Petter Selasky pcap/usb.h \ 52b00ab754SHans Petter Selasky pcap/vlan.h 53b00ab754SHans Petter Selasky 54919b495cSRui PauloPCAPINCSDIR= ${INCLUDEDIR}/pcap 55919b495cSRui PauloINCSGROUPS= INCS PCAPINCS 56919b495cSRui Paulo 5728510af5SRui PauloMAN= pcap.3 \ 5828510af5SRui Paulo pcap_activate.3 \ 5928510af5SRui Paulo pcap_breakloop.3 \ 6028510af5SRui Paulo pcap_can_set_rfmon.3 \ 6128510af5SRui Paulo pcap_close.3 \ 6228510af5SRui Paulo pcap_compile.3 \ 6328510af5SRui Paulo pcap_create.3 \ 6428510af5SRui Paulo pcap_datalink.3 \ 6528510af5SRui Paulo pcap_datalink_name_to_val.3 \ 6628510af5SRui Paulo pcap_datalink_val_to_name.3 \ 6728510af5SRui Paulo pcap_dump.3 \ 6828510af5SRui Paulo pcap_dump_close.3 \ 6928510af5SRui Paulo pcap_dump_file.3 \ 7028510af5SRui Paulo pcap_dump_flush.3 \ 7128510af5SRui Paulo pcap_dump_ftell.3 \ 7228510af5SRui Paulo pcap_dump_open.3 \ 7328510af5SRui Paulo pcap_file.3 \ 7428510af5SRui Paulo pcap_fileno.3 \ 7528510af5SRui Paulo pcap_findalldevs.3 \ 7628510af5SRui Paulo pcap_freecode.3 \ 77b00ab754SHans Petter Selasky pcap_get_required_select_timeout.3 \ 7828510af5SRui Paulo pcap_get_selectable_fd.3 \ 79681ed54cSXin LI pcap_get_tstamp_precision.3 \ 8028510af5SRui Paulo pcap_geterr.3 \ 8128510af5SRui Paulo pcap_inject.3 \ 8228510af5SRui Paulo pcap_is_swapped.3 \ 8328510af5SRui Paulo pcap_lib_version.3 \ 8428510af5SRui Paulo pcap_list_datalinks.3 \ 85d1e87331SXin LI pcap_list_tstamp_types.3 \ 8628510af5SRui Paulo pcap_lookupdev.3 \ 8728510af5SRui Paulo pcap_lookupnet.3 \ 8828510af5SRui Paulo pcap_loop.3 \ 8928510af5SRui Paulo pcap_major_version.3 \ 9028510af5SRui Paulo pcap_next_ex.3 \ 9128510af5SRui Paulo pcap_offline_filter.3 \ 9228510af5SRui Paulo pcap_open_dead.3 \ 9328510af5SRui Paulo pcap_open_live.3 \ 9428510af5SRui Paulo pcap_open_offline.3 \ 9528510af5SRui Paulo pcap_set_buffer_size.3 \ 9628510af5SRui Paulo pcap_set_datalink.3 \ 97681ed54cSXin LI pcap_set_immediate_mode.3 \ 9828510af5SRui Paulo pcap_set_promisc.3 \ 99b00ab754SHans Petter Selasky pcap_set_protocol.3 \ 10028510af5SRui Paulo pcap_set_rfmon.3 \ 10128510af5SRui Paulo pcap_set_snaplen.3 \ 10228510af5SRui Paulo pcap_set_timeout.3 \ 103681ed54cSXin LI pcap_set_tstamp_precision.3 \ 104d1e87331SXin LI pcap_set_tstamp_type.3 \ 10528510af5SRui Paulo pcap_setdirection.3 \ 10628510af5SRui Paulo pcap_setfilter.3 \ 10728510af5SRui Paulo pcap_setnonblock.3 \ 10828510af5SRui Paulo pcap_snapshot.3 \ 10928510af5SRui Paulo pcap_stats.3 \ 11028510af5SRui Paulo pcap_statustostr.3 \ 11128510af5SRui Paulo pcap_strerror.3 \ 112d1e87331SXin LI pcap_tstamp_type_name_to_val.3 \ 113b00ab754SHans Petter Selasky pcap_tstamp_type_val_to_name.3 114b00ab754SHans Petter Selasky 115b00ab754SHans Petter SelaskyMLINKS= \ 116b00ab754SHans Petter Selasky pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \ 11728510af5SRui Paulo pcap_dump_open.3 pcap_dump_fopen.3 \ 118d1e87331SXin LI pcap_findalldevs.3 pcap_freealldevs.3 \ 11928510af5SRui Paulo pcap_geterr.3 pcap_perror.3 \ 12028510af5SRui Paulo pcap_inject.3 pcap_sendpacket.3 \ 121d1e87331SXin LI pcap_list_datalinks.3 pcap_free_datalinks.3 \ 122d1e87331SXin LI pcap_list_tstamp_types.3 pcap_free_tstamp_types.3 \ 12328510af5SRui Paulo pcap_loop.3 pcap_dispatch.3 \ 12428510af5SRui Paulo pcap_major_version.3 pcap_minor_version.3 \ 12528510af5SRui Paulo pcap_next_ex.3 pcap_next.3 \ 12628510af5SRui Paulo pcap_open_offline.3 pcap_fopen_offline.3 \ 12728510af5SRui Paulo pcap_setnonblock.3 pcap_getnonblock.3 12857b00b99SPawel Jakub Dawidek 12979df4466SRui Paulo# Our man pages are a special copy from the distdir. See below. 13028510af5SRui PauloCLEANFILES+=${MAN} 131b00ab754SHans Petter SelaskyCLEANFILES+=tokdefs.h scanner.h 132bf18e76aSPaul Traina 133ada6f083SXin LIYFLAGS+=-p pcap_ 134ada6f083SXin LILFLAGS+=-Ppcap_ --header-file=${.OBJDIR}/scanner.h --nounput 135ada6f083SXin LICFLAGS+=-DHAVE_CONFIG_H -I${.CURDIR} -I${.OBJDIR} 136eb9f0330SBruce M SimpsonCFLAGS+=-D_U_="__attribute__((unused))" 137eb9f0330SBruce M SimpsonCFLAGS+=-DHAVE_SNPRINTF -DHAVE_VSNPRINTF 138ada6f083SXin LICFLAGS+=-DBUILDING_PCAP 139e1fe3dbaSRuslan Ermilov.if ${MK_INET6_SUPPORT} != "no" 140f3952ecbSBruce EvansCFLAGS+=-DINET6 1414f9bc6c6SSteve Price.endif 1423bc70204SMax Laier.if ${MK_PF} != "no" 1433bc70204SMax LaierCFLAGS+=-DHAVE_NET_PFVAR_H 1443bc70204SMax Laier.endif 145bf18e76aSPaul Traina 146b00ab754SHans Petter SelaskyCFLAGS+= -DPCAP_SUPPORT_NETMAP 147b00ab754SHans Petter Selasky 148b00ab754SHans Petter Selasky.if ${MK_OFED} != "no" 149b00ab754SHans Petter SelaskySRCS+= pcap-rdmasniff.c 150b00ab754SHans Petter SelaskyLIBADD+= ibverbs 151b00ab754SHans Petter SelaskyLIBADD+= mlx5 152b00ab754SHans Petter SelaskyCFLAGS+= -DPCAP_SUPPORT_RDMASNIFF 153b00ab754SHans Petter Selasky.endif 154b00ab754SHans Petter Selasky 155daaf5759SEd SchoutenWARNS?= 0 156daaf5759SEd Schouten 1577596eb48SKonstantin BelousovSHLIB_MAJOR= 8 1580db59933SPaul Traina 159bf18e76aSPaul Traina# 160bf18e76aSPaul Traina# Magic to grab sources out of src/contrib 161bf18e76aSPaul Traina# 162*7423a047SEnji CooperPCAP_DISTDIR?=${SRCTOP}/contrib/libpcap 16346da4bc6SBill FennerCFLAGS+=-I${PCAP_DISTDIR} 1649f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR} 1659f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR}/bpf/net 166bf18e76aSPaul Traina 167b791fbe6SBryan Drewerytokdefs.h: grammar.h .NOMETA 168b791fbe6SBryan Drewery ln -sf ${.ALLSRC} ${.TARGET} 16928510af5SRui Paulo 17028510af5SRui Paulo# 17128510af5SRui Paulo# Magic to convert the man pages to something non Solarish 17228510af5SRui Paulo# 17328510af5SRui Paulo.for _page in ${MAN} 17428510af5SRui Paulo${_page}: 17528510af5SRui Paulo if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then \ 17628510af5SRui Paulo F=${_page:S/3$/3pcap/}; \ 177b00ab754SHans Petter Selasky elif [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap.in/} ]; then \ 178b00ab754SHans Petter Selasky F=${_page:S/3$/3pcap.in/}; \ 179b00ab754SHans Petter Selasky elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile.in/} ]; then \ 180b00ab754SHans Petter Selasky F=${_page:S/5$/manfile.in/}; \ 18128510af5SRui Paulo elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then \ 18228510af5SRui Paulo F=${_page:S/5$/manfile/}; \ 18328510af5SRui Paulo else \ 184b00ab754SHans Petter Selasky F=${_page:S/7$/manmisc.in/}; \ 18528510af5SRui Paulo fi; \ 18628510af5SRui Paulo sed -e 's/3PCAP/3/g' ${PCAP_DISTDIR}/$$F > ${_page} 18728510af5SRui Paulo.endfor 18828510af5SRui Paulo 189609c8587SJordan K. Hubbard.include <bsd.lib.mk> 190