1609c8587SJordan K. Hubbard# Makefile for libpcap 27f3dea24SPeter Wemm# $FreeBSD$ 3609c8587SJordan K. Hubbard 4*18b2ee82SBaptiste DaroussinSHLIBDIR?= /lib 58f01da43SRuslan Ermilov 6c6063d0dSWarner Losh.include <src.opts.mk> 7e1fe3dbaSRuslan Ermilov 8609c8587SJordan K. HubbardLIB= pcap 9eb9f0330SBruce M SimpsonSRCS= grammar.y tokdefs.h version.h pcap-bpf.c \ 1086f82ef9SLuigi Rizzo pcap-netmap.c \ 11bc177dc5SRui Paulo pcap.c pcap-common.c inet.c fad-getad.c gencode.c optimize.c nametoaddr.c \ 121a92ad3dSBill Fenner etherent.c savefile.c bpf_filter.c bpf_image.c bpf_dump.c \ 13ce96ab45SRui Paulo scanner.l sf-pcap.c sf-pcap-ng.c version.c 14919b495cSRui Paulo 15919b495cSRui Paulo# Old compatibility headers 163bc70204SMax LaierINCS= pcap.h pcap-int.h pcap-namedb.h pcap-bpf.h 17919b495cSRui Paulo 18919b495cSRui PauloPCAPINCS= pcap/pcap.h pcap/namedb.h pcap/bpf.h 19919b495cSRui PauloPCAPINCSDIR= ${INCLUDEDIR}/pcap 20919b495cSRui PauloINCSGROUPS= INCS PCAPINCS 21919b495cSRui Paulo 2228510af5SRui PauloMAN= pcap.3 \ 2328510af5SRui Paulo pcap_activate.3 \ 2428510af5SRui Paulo pcap_breakloop.3 \ 2528510af5SRui Paulo pcap_can_set_rfmon.3 \ 2628510af5SRui Paulo pcap_close.3 \ 2728510af5SRui Paulo pcap_compile.3 \ 2828510af5SRui Paulo pcap_create.3 \ 2928510af5SRui Paulo pcap_datalink.3 \ 3028510af5SRui Paulo pcap_datalink_name_to_val.3 \ 3128510af5SRui Paulo pcap_datalink_val_to_name.3 \ 3228510af5SRui Paulo pcap_dump.3 \ 3328510af5SRui Paulo pcap_dump_close.3 \ 3428510af5SRui Paulo pcap_dump_file.3 \ 3528510af5SRui Paulo pcap_dump_flush.3 \ 3628510af5SRui Paulo pcap_dump_ftell.3 \ 3728510af5SRui Paulo pcap_dump_open.3 \ 3828510af5SRui Paulo pcap_file.3 \ 3928510af5SRui Paulo pcap_fileno.3 \ 4028510af5SRui Paulo pcap_findalldevs.3 \ 4128510af5SRui Paulo pcap_freecode.3 \ 4228510af5SRui Paulo pcap_get_selectable_fd.3 \ 43681ed54cSXin LI pcap_get_tstamp_precision.3 \ 4428510af5SRui Paulo pcap_geterr.3 \ 4528510af5SRui Paulo pcap_inject.3 \ 4628510af5SRui Paulo pcap_is_swapped.3 \ 4728510af5SRui Paulo pcap_lib_version.3 \ 4828510af5SRui Paulo pcap_list_datalinks.3 \ 49d1e87331SXin LI pcap_list_tstamp_types.3 \ 5028510af5SRui Paulo pcap_lookupdev.3 \ 5128510af5SRui Paulo pcap_lookupnet.3 \ 5228510af5SRui Paulo pcap_loop.3 \ 5328510af5SRui Paulo pcap_major_version.3 \ 5428510af5SRui Paulo pcap_next_ex.3 \ 5528510af5SRui Paulo pcap_offline_filter.3 \ 5628510af5SRui Paulo pcap_open_dead.3 \ 5728510af5SRui Paulo pcap_open_live.3 \ 5828510af5SRui Paulo pcap_open_offline.3 \ 5928510af5SRui Paulo pcap_set_buffer_size.3 \ 6028510af5SRui Paulo pcap_set_datalink.3 \ 61681ed54cSXin LI pcap_set_immediate_mode.3 \ 6228510af5SRui Paulo pcap_set_promisc.3 \ 6328510af5SRui Paulo pcap_set_rfmon.3 \ 6428510af5SRui Paulo pcap_set_snaplen.3 \ 6528510af5SRui Paulo pcap_set_timeout.3 \ 66681ed54cSXin LI pcap_set_tstamp_precision.3 \ 67d1e87331SXin LI pcap_set_tstamp_type.3 \ 6828510af5SRui Paulo pcap_setdirection.3 \ 6928510af5SRui Paulo pcap_setfilter.3 \ 7028510af5SRui Paulo pcap_setnonblock.3 \ 7128510af5SRui Paulo pcap_snapshot.3 \ 7228510af5SRui Paulo pcap_stats.3 \ 7328510af5SRui Paulo pcap_statustostr.3 \ 7428510af5SRui Paulo pcap_strerror.3 \ 7528510af5SRui Paulo pcap-savefile.5 \ 76d1e87331SXin LI pcap_tstamp_type_name_to_val.3 \ 77d1e87331SXin LI pcap_tstamp_type_val_to_name.3 \ 7828510af5SRui Paulo pcap-filter.7 \ 7928510af5SRui Paulo pcap-linktype.7 8028510af5SRui PauloMLINKS= pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \ 8128510af5SRui Paulo pcap_dump_open.3 pcap_dump_fopen.3 \ 82d1e87331SXin LI pcap_findalldevs.3 pcap_freealldevs.3 \ 8328510af5SRui Paulo pcap_geterr.3 pcap_perror.3 \ 8428510af5SRui Paulo pcap_inject.3 pcap_sendpacket.3 \ 85d1e87331SXin LI pcap_list_datalinks.3 pcap_free_datalinks.3 \ 86d1e87331SXin LI pcap_list_tstamp_types.3 pcap_free_tstamp_types.3 \ 8728510af5SRui Paulo pcap_loop.3 pcap_dispatch.3 \ 8828510af5SRui Paulo pcap_major_version.3 pcap_minor_version.3 \ 8928510af5SRui Paulo pcap_next_ex.3 pcap_next.3 \ 9028510af5SRui Paulo pcap_open_offline.3 pcap_fopen_offline.3 \ 9128510af5SRui Paulo pcap_setnonblock.3 pcap_getnonblock.3 9257b00b99SPawel Jakub Dawidek 9379df4466SRui Paulo# Our man pages are a special copy from the distdir. See below. 9428510af5SRui PauloCLEANFILES+=${MAN} 9528510af5SRui PauloCLEANFILES+=tokdefs.h version.h version.c 96bf18e76aSPaul Traina 973267cc18SBrian FeldmanYFLAGS+=-p pcapyy 983267cc18SBrian FeldmanLFLAGS+=-Ppcapyy 993267cc18SBrian FeldmanCFLAGS+=-DHAVE_CONFIG_H -Dyylval=pcapyylval -I${.CURDIR} -I. 100eb9f0330SBruce M SimpsonCFLAGS+=-D_U_="__attribute__((unused))" 101eb9f0330SBruce M SimpsonCFLAGS+=-DHAVE_SNPRINTF -DHAVE_VSNPRINTF 102e1fe3dbaSRuslan Ermilov.if ${MK_INET6_SUPPORT} != "no" 103f3952ecbSBruce EvansCFLAGS+=-DINET6 1044f9bc6c6SSteve Price.endif 1053bc70204SMax Laier.if ${MK_PF} != "no" 1063bc70204SMax LaierCFLAGS+=-DHAVE_NET_PFVAR_H 1073bc70204SMax Laier.endif 108bf18e76aSPaul Traina 109daaf5759SEd SchoutenWARNS?= 0 110daaf5759SEd Schouten 1117596eb48SKonstantin BelousovSHLIB_MAJOR= 8 1120db59933SPaul Traina 113bf18e76aSPaul Traina# 114bf18e76aSPaul Traina# Magic to grab sources out of src/contrib 115bf18e76aSPaul Traina# 1169f6ca50cSPaul TrainaPCAP_DISTDIR?=${.CURDIR}/../../contrib/libpcap 11746da4bc6SBill FennerCFLAGS+=-I${PCAP_DISTDIR} 1189f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR} 1199f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR}/bpf/net 120bf18e76aSPaul Traina 12127d941cbSBill Fennerversion.c: ${PCAP_DISTDIR}/VERSION 12227d941cbSBill Fenner @rm -f $@ 12327d941cbSBill Fenner sed 's/.*/char pcap_version[] = "&";/' ${PCAP_DISTDIR}/VERSION > $@ 12427d941cbSBill Fenner 125eb9f0330SBruce M Simpsonversion.h: ${PCAP_DISTDIR}/VERSION 126eb9f0330SBruce M Simpson @rm -f $@ 127eb9f0330SBruce M Simpson sed 's/.*/char pcap_version_string[] = "libpcap version &";/' ${PCAP_DISTDIR}/VERSION > $@ 128eb9f0330SBruce M Simpson 12955554ef2SBruce Evanstokdefs.h: grammar.h 13055554ef2SBruce Evans ln -sf grammar.h tokdefs.h 131609c8587SJordan K. Hubbard 13228510af5SRui Paulo 13328510af5SRui Paulo# 13428510af5SRui Paulo# Magic to convert the man pages to something non Solarish 13528510af5SRui Paulo# 13628510af5SRui Paulo.for _page in ${MAN} 13728510af5SRui Paulo${_page}: 13828510af5SRui Paulo if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then \ 13928510af5SRui Paulo F=${_page:S/3$/3pcap/}; \ 14028510af5SRui Paulo elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then \ 14128510af5SRui Paulo F=${_page:S/5$/manfile/}; \ 14228510af5SRui Paulo else \ 14328510af5SRui Paulo F=${_page:S/7$/manmisc/}; \ 14428510af5SRui Paulo fi; \ 14528510af5SRui Paulo sed -e 's/3PCAP/3/g' ${PCAP_DISTDIR}/$$F > ${_page} 14628510af5SRui Paulo.endfor 14728510af5SRui Paulo 148609c8587SJordan K. Hubbard.include <bsd.lib.mk> 149