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 8609c8587SJordan K. HubbardLIB= pcap 9b00ab754SHans Petter Selasky 10b00ab754SHans Petter SelaskySRCS= bpf_dump.c \ 11b00ab754SHans Petter Selasky bpf_filter.c \ 12b00ab754SHans Petter Selasky bpf_image.c \ 13b00ab754SHans Petter Selasky etherent.c \ 14b00ab754SHans Petter Selasky fad-getad.c \ 15b00ab754SHans Petter Selasky fmtutils.c \ 16b00ab754SHans Petter Selasky gencode.c \ 17b00ab754SHans Petter Selasky grammar.y \ 18b00ab754SHans Petter Selasky nametoaddr.c \ 19b00ab754SHans Petter Selasky optimize.c \ 20b00ab754SHans Petter Selasky pcap-bpf.c \ 21b00ab754SHans Petter Selasky pcap-common.c \ 22b00ab754SHans Petter Selasky pcap-netmap.c \ 23*6f9cba8fSJoseph Mingrone pcap-usb-linux-common.c \ 24*6f9cba8fSJoseph Mingrone pcap-util.c \ 25b00ab754SHans Petter Selasky pcap.c \ 26b00ab754SHans Petter Selasky savefile.c \ 27b00ab754SHans Petter Selasky scanner.l \ 28b00ab754SHans Petter Selasky sf-pcap.c \ 29b00ab754SHans Petter Selasky sf-pcapng.c \ 30b00ab754SHans Petter Selasky tokdefs.h 31919b495cSRui Paulo 32919b495cSRui Paulo# Old compatibility headers 33*6f9cba8fSJoseph MingroneINCS= 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 \ 5057e22627SCy Schubert pcap/socket.h \ 51b00ab754SHans Petter Selasky pcap/sll.h \ 52b00ab754SHans Petter Selasky pcap/usb.h \ 53b00ab754SHans Petter Selasky pcap/vlan.h 54b00ab754SHans 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 \ 78b00ab754SHans 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 \ 82*6f9cba8fSJoseph Mingrone pcap_init.3 \ 8328510af5SRui Paulo pcap_inject.3 \ 8428510af5SRui Paulo pcap_is_swapped.3 \ 8528510af5SRui Paulo pcap_lib_version.3 \ 8628510af5SRui Paulo pcap_list_datalinks.3 \ 87d1e87331SXin LI pcap_list_tstamp_types.3 \ 8828510af5SRui Paulo pcap_lookupdev.3 \ 8928510af5SRui Paulo pcap_lookupnet.3 \ 9028510af5SRui Paulo pcap_loop.3 \ 9128510af5SRui Paulo pcap_major_version.3 \ 9228510af5SRui Paulo pcap_next_ex.3 \ 9328510af5SRui Paulo pcap_offline_filter.3 \ 9428510af5SRui Paulo pcap_open_dead.3 \ 9528510af5SRui Paulo pcap_open_live.3 \ 9628510af5SRui Paulo pcap_open_offline.3 \ 9728510af5SRui Paulo pcap_set_buffer_size.3 \ 9828510af5SRui Paulo pcap_set_datalink.3 \ 9928510af5SRui Paulo pcap_set_promisc.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 \ 113174ae282SHans Petter Selasky pcap_tstamp_type_val_to_name.3 \ 114174ae282SHans Petter Selasky pcap-savefile.5 \ 115174ae282SHans Petter Selasky pcap-filter.7 \ 116174ae282SHans Petter Selasky pcap-linktype.7 \ 117174ae282SHans Petter Selasky pcap-tstamp.7 118b00ab754SHans Petter Selasky 119b00ab754SHans Petter SelaskyMLINKS= \ 120b00ab754SHans Petter Selasky pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \ 12128510af5SRui Paulo pcap_dump_open.3 pcap_dump_fopen.3 \ 122d1e87331SXin LI pcap_findalldevs.3 pcap_freealldevs.3 \ 12328510af5SRui Paulo pcap_geterr.3 pcap_perror.3 \ 12428510af5SRui Paulo pcap_inject.3 pcap_sendpacket.3 \ 125d1e87331SXin LI pcap_list_datalinks.3 pcap_free_datalinks.3 \ 126d1e87331SXin LI pcap_list_tstamp_types.3 pcap_free_tstamp_types.3 \ 12728510af5SRui Paulo pcap_loop.3 pcap_dispatch.3 \ 12828510af5SRui Paulo pcap_major_version.3 pcap_minor_version.3 \ 12928510af5SRui Paulo pcap_next_ex.3 pcap_next.3 \ 13028510af5SRui Paulo pcap_open_offline.3 pcap_fopen_offline.3 \ 13128510af5SRui Paulo pcap_setnonblock.3 pcap_getnonblock.3 13257b00b99SPawel Jakub Dawidek 13379df4466SRui Paulo# Our man pages are a special copy from the distdir. See below. 13428510af5SRui PauloCLEANFILES+=${MAN} 135*6f9cba8fSJoseph MingroneCLEANFILES+=grammar.y scanner.h tokdefs.h 136bf18e76aSPaul Traina 137ada6f083SXin LIYFLAGS+=-p pcap_ 138ada6f083SXin LILFLAGS+=-Ppcap_ --header-file=${.OBJDIR}/scanner.h --nounput 139ada6f083SXin LICFLAGS+=-DHAVE_CONFIG_H -I${.CURDIR} -I${.OBJDIR} 140eb9f0330SBruce M SimpsonCFLAGS+=-D_U_="__attribute__((unused))" 141eb9f0330SBruce M SimpsonCFLAGS+=-DHAVE_SNPRINTF -DHAVE_VSNPRINTF 142ada6f083SXin LICFLAGS+=-DBUILDING_PCAP 143e1fe3dbaSRuslan Ermilov.if ${MK_INET6_SUPPORT} != "no" 144f3952ecbSBruce EvansCFLAGS+=-DINET6 1454f9bc6c6SSteve Price.endif 1463bc70204SMax Laier.if ${MK_PF} != "no" 1473bc70204SMax LaierCFLAGS+=-DHAVE_NET_PFVAR_H 1483bc70204SMax Laier.endif 149bf18e76aSPaul Traina 150b00ab754SHans Petter SelaskyCFLAGS+= -DPCAP_SUPPORT_NETMAP 151b00ab754SHans Petter Selasky 152b00ab754SHans Petter Selasky.if ${MK_OFED} != "no" 153b00ab754SHans Petter SelaskySRCS+= pcap-rdmasniff.c 154b00ab754SHans Petter SelaskyLIBADD+= ibverbs 155b00ab754SHans Petter SelaskyLIBADD+= mlx5 156b00ab754SHans Petter SelaskyCFLAGS+= -DPCAP_SUPPORT_RDMASNIFF 157b00ab754SHans Petter Selasky.endif 158b00ab754SHans Petter Selasky 159daaf5759SEd SchoutenWARNS?= 0 160daaf5759SEd Schouten 1617596eb48SKonstantin BelousovSHLIB_MAJOR= 8 1620db59933SPaul Traina 163bf18e76aSPaul Traina# 164bf18e76aSPaul Traina# Magic to grab sources out of src/contrib 165bf18e76aSPaul Traina# 1667423a047SEnji CooperPCAP_DISTDIR?=${SRCTOP}/contrib/libpcap 16746da4bc6SBill FennerCFLAGS+=-I${PCAP_DISTDIR} 1689f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR} 1699f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR}/bpf/net 170bf18e76aSPaul Traina 171*6f9cba8fSJoseph Mingronegrammar.y: grammar.y.in 172*6f9cba8fSJoseph Mingrone sed -e 's/@REENTRANT_PARSER@/%pure-parser/' < ${.ALLSRC} > ${.TARGET} 173*6f9cba8fSJoseph Mingrone 174b791fbe6SBryan Drewerytokdefs.h: grammar.h .NOMETA 175b791fbe6SBryan Drewery ln -sf ${.ALLSRC} ${.TARGET} 17628510af5SRui Paulo 17728510af5SRui Paulo# 17828510af5SRui Paulo# Magic to convert the man pages to something non Solarish 17928510af5SRui Paulo# 18028510af5SRui Paulo.for _page in ${MAN} 18128510af5SRui Paulo${_page}: 18228510af5SRui Paulo if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then \ 18328510af5SRui Paulo F=${_page:S/3$/3pcap/}; \ 184b00ab754SHans Petter Selasky elif [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap.in/} ]; then \ 185b00ab754SHans Petter Selasky F=${_page:S/3$/3pcap.in/}; \ 186b00ab754SHans Petter Selasky elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile.in/} ]; then \ 187b00ab754SHans Petter Selasky F=${_page:S/5$/manfile.in/}; \ 18828510af5SRui Paulo elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then \ 18928510af5SRui Paulo F=${_page:S/5$/manfile/}; \ 19028510af5SRui Paulo else \ 191b00ab754SHans Petter Selasky F=${_page:S/7$/manmisc.in/}; \ 19228510af5SRui Paulo fi; \ 193174ae282SHans Petter Selasky sed \ 194174ae282SHans Petter Selasky -e 's/3PCAP/3/g' \ 195174ae282SHans Petter Selasky -e 's/@MAN_FILE_FORMATS@/5/g' \ 196174ae282SHans Petter Selasky -e 's/@MAN_MISC_INFO@/7/g' \ 197174ae282SHans Petter Selasky -e 's/@MAN_ADMIN_COMMANDS@/8/g' \ 198174ae282SHans Petter Selasky ${PCAP_DISTDIR}/$$F > ${_page} 19928510af5SRui Paulo.endfor 20028510af5SRui Paulo 201609c8587SJordan K. Hubbard.include <bsd.lib.mk> 202