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 \ 23b00ab754SHans Petter Selasky pcap.c \ 24b00ab754SHans Petter Selasky savefile.c \ 25b00ab754SHans Petter Selasky scanner.l \ 26b00ab754SHans Petter Selasky sf-pcap.c \ 27b00ab754SHans Petter Selasky sf-pcapng.c \ 28b00ab754SHans Petter Selasky tokdefs.h 29919b495cSRui Paulo 30919b495cSRui Paulo# Old compatibility headers 31b00ab754SHans Petter SelaskyINCS= fmtutils.h \ 32b00ab754SHans Petter Selasky pcap-bpf.h \ 33b00ab754SHans Petter Selasky pcap-namedb.h \ 34b00ab754SHans Petter Selasky pcap-netmap.h \ 35b00ab754SHans Petter Selasky pcap.h 36919b495cSRui Paulo 37b00ab754SHans Petter SelaskyPCAPINCS= \ 38b00ab754SHans Petter Selasky pcap/bluetooth.h \ 39b00ab754SHans Petter Selasky pcap/bpf.h \ 40b00ab754SHans Petter Selasky pcap/can_socketcan.h \ 41b00ab754SHans Petter Selasky pcap/compiler-tests.h \ 42b00ab754SHans Petter Selasky pcap/dlt.h \ 43b00ab754SHans Petter Selasky pcap/funcattrs.h \ 44b00ab754SHans Petter Selasky pcap/ipnet.h \ 45b00ab754SHans Petter Selasky pcap/namedb.h \ 46b00ab754SHans Petter Selasky pcap/nflog.h \ 47b00ab754SHans Petter Selasky pcap/pcap-inttypes.h \ 48b00ab754SHans Petter Selasky pcap/pcap.h \ 49b00ab754SHans Petter Selasky pcap/socket.h \ 50b00ab754SHans Petter Selasky pcap/sll.h \ 51b00ab754SHans Petter Selasky pcap/usb.h \ 52b00ab754SHans Petter Selasky pcap/vlan.h 53919b495cSRui Paulo 54919b495cSRui PauloPCAPINCSDIR= ${INCLUDEDIR}/pcap 55919b495cSRui PauloINCSGROUPS= INCS PCAPINCS 5628510af5SRui 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 \ 76b00ab754SHans Petter Selasky pcap_freecode.3 \ 7728510af5SRui Paulo pcap_get_required_select_timeout.3 \ 78681ed54cSXin LI pcap_get_selectable_fd.3 \ 7928510af5SRui Paulo 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 \ 84d1e87331SXin LI pcap_list_datalinks.3 \ 8528510af5SRui Paulo 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 \ 96681ed54cSXin LI pcap_set_datalink.3 \ 9728510af5SRui Paulo pcap_set_promisc.3 \ 98b00ab754SHans Petter Selasky pcap_set_rfmon.3 \ 9928510af5SRui Paulo pcap_set_snaplen.3 \ 10028510af5SRui Paulo pcap_set_timeout.3 \ 10128510af5SRui Paulo pcap_set_tstamp_precision.3 \ 102681ed54cSXin LI pcap_set_tstamp_type.3 \ 103d1e87331SXin LI pcap_setdirection.3 \ 10428510af5SRui Paulo pcap_setfilter.3 \ 10528510af5SRui Paulo pcap_setnonblock.3 \ 10628510af5SRui Paulo pcap_snapshot.3 \ 10728510af5SRui Paulo pcap_stats.3 \ 10828510af5SRui Paulo pcap_statustostr.3 \ 10928510af5SRui Paulo pcap_strerror.3 \ 11028510af5SRui Paulo pcap_tstamp_type_name_to_val.3 \ 111d1e87331SXin LI pcap_tstamp_type_val_to_name.3 \ 112*174ae282SHans Petter Selasky pcap-savefile.5 \ 113*174ae282SHans Petter Selasky pcap-filter.7 \ 114*174ae282SHans Petter Selasky pcap-linktype.7 \ 115*174ae282SHans Petter Selasky pcap-tstamp.7 116*174ae282SHans Petter Selasky 117b00ab754SHans Petter SelaskyMLINKS= \ 118b00ab754SHans Petter Selasky pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \ 119b00ab754SHans Petter Selasky pcap_dump_open.3 pcap_dump_fopen.3 \ 12028510af5SRui Paulo pcap_findalldevs.3 pcap_freealldevs.3 \ 121d1e87331SXin LI pcap_geterr.3 pcap_perror.3 \ 12228510af5SRui Paulo pcap_inject.3 pcap_sendpacket.3 \ 12328510af5SRui Paulo pcap_list_datalinks.3 pcap_free_datalinks.3 \ 124d1e87331SXin LI pcap_list_tstamp_types.3 pcap_free_tstamp_types.3 \ 125d1e87331SXin LI pcap_loop.3 pcap_dispatch.3 \ 12628510af5SRui Paulo pcap_major_version.3 pcap_minor_version.3 \ 12728510af5SRui Paulo pcap_next_ex.3 pcap_next.3 \ 12828510af5SRui Paulo pcap_open_offline.3 pcap_fopen_offline.3 \ 12928510af5SRui Paulo pcap_setnonblock.3 pcap_getnonblock.3 13028510af5SRui Paulo 13157b00b99SPawel Jakub Dawidek# Our man pages are a special copy from the distdir. See below. 13279df4466SRui PauloCLEANFILES+=${MAN} 13328510af5SRui PauloCLEANFILES+=tokdefs.h scanner.h 134b00ab754SHans Petter Selasky 135bf18e76aSPaul TrainaYFLAGS+=-p pcap_ 136ada6f083SXin LILFLAGS+=-Ppcap_ --header-file=${.OBJDIR}/scanner.h --nounput 137ada6f083SXin LICFLAGS+=-DHAVE_CONFIG_H -I${.CURDIR} -I${.OBJDIR} 138ada6f083SXin LICFLAGS+=-D_U_="__attribute__((unused))" 139eb9f0330SBruce M SimpsonCFLAGS+=-DHAVE_SNPRINTF -DHAVE_VSNPRINTF 140eb9f0330SBruce M SimpsonCFLAGS+=-DBUILDING_PCAP 141ada6f083SXin LI.if ${MK_INET6_SUPPORT} != "no" 142e1fe3dbaSRuslan ErmilovCFLAGS+=-DINET6 143f3952ecbSBruce Evans.endif 1444f9bc6c6SSteve Price.if ${MK_PF} != "no" 1453bc70204SMax LaierCFLAGS+=-DHAVE_NET_PFVAR_H 1463bc70204SMax Laier.endif 1473bc70204SMax Laier 148bf18e76aSPaul TrainaCFLAGS+= -DPCAP_SUPPORT_NETMAP 149b00ab754SHans Petter Selasky 150b00ab754SHans Petter Selasky.if ${MK_OFED} != "no" 151b00ab754SHans Petter SelaskySRCS+= pcap-rdmasniff.c 152b00ab754SHans Petter SelaskyLIBADD+= ibverbs 153b00ab754SHans Petter SelaskyLIBADD+= mlx5 154b00ab754SHans Petter SelaskyCFLAGS+= -DPCAP_SUPPORT_RDMASNIFF 155b00ab754SHans Petter Selasky.endif 156b00ab754SHans Petter Selasky 157b00ab754SHans Petter SelaskyWARNS?= 0 158daaf5759SEd Schouten 159daaf5759SEd SchoutenSHLIB_MAJOR= 8 1607596eb48SKonstantin Belousov 1610db59933SPaul Traina# 162bf18e76aSPaul Traina# Magic to grab sources out of src/contrib 163bf18e76aSPaul Traina# 164bf18e76aSPaul TrainaPCAP_DISTDIR?=${SRCTOP}/contrib/libpcap 1657423a047SEnji CooperCFLAGS+=-I${PCAP_DISTDIR} 16646da4bc6SBill Fenner.PATH: ${PCAP_DISTDIR} 1679f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR}/bpf/net 1689f6ca50cSPaul Traina 169bf18e76aSPaul Trainatokdefs.h: grammar.h .NOMETA 170b791fbe6SBryan Drewery ln -sf ${.ALLSRC} ${.TARGET} 171b791fbe6SBryan Drewery 17228510af5SRui Paulo# 17328510af5SRui Paulo# Magic to convert the man pages to something non Solarish 17428510af5SRui Paulo# 17528510af5SRui Paulo.for _page in ${MAN} 17628510af5SRui Paulo${_page}: 17728510af5SRui Paulo if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then \ 17828510af5SRui Paulo F=${_page:S/3$/3pcap/}; \ 17928510af5SRui Paulo elif [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap.in/} ]; then \ 180b00ab754SHans Petter Selasky F=${_page:S/3$/3pcap.in/}; \ 181b00ab754SHans Petter Selasky elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile.in/} ]; then \ 182b00ab754SHans Petter Selasky F=${_page:S/5$/manfile.in/}; \ 183b00ab754SHans Petter Selasky elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then \ 18428510af5SRui Paulo F=${_page:S/5$/manfile/}; \ 18528510af5SRui Paulo else \ 18628510af5SRui Paulo F=${_page:S/7$/manmisc.in/}; \ 187b00ab754SHans Petter Selasky fi; \ 18828510af5SRui Paulo sed \ 189*174ae282SHans Petter Selasky -e 's/3PCAP/3/g' \ 190*174ae282SHans Petter Selasky -e 's/@MAN_FILE_FORMATS@/5/g' \ 191*174ae282SHans Petter Selasky -e 's/@MAN_MISC_INFO@/7/g' \ 192*174ae282SHans Petter Selasky -e 's/@MAN_ADMIN_COMMANDS@/8/g' \ 193*174ae282SHans Petter Selasky ${PCAP_DISTDIR}/$$F > ${_page} 194*174ae282SHans Petter Selasky.endfor 19528510af5SRui Paulo 19628510af5SRui Paulo.include <bsd.lib.mk> 197609c8587SJordan K. Hubbard