1609c8587SJordan K. Hubbard# Makefile for libpcap 27f3dea24SPeter Wemm# $FreeBSD$ 3609c8587SJordan K. Hubbard 48f01da43SRuslan ErmilovSHLIBDIR?= /lib 58f01da43SRuslan Ermilov 6*c6063d0dSWarner Losh.include <src.opts.mk> 7e1fe3dbaSRuslan Ermilov 8609c8587SJordan K. HubbardLIB= pcap 9eb9f0330SBruce M SimpsonSRCS= grammar.y tokdefs.h version.h pcap-bpf.c \ 10bc177dc5SRui Paulo pcap.c pcap-common.c inet.c fad-getad.c gencode.c optimize.c nametoaddr.c \ 111a92ad3dSBill Fenner etherent.c savefile.c bpf_filter.c bpf_image.c bpf_dump.c \ 12ce96ab45SRui Paulo scanner.l sf-pcap.c sf-pcap-ng.c version.c 13919b495cSRui Paulo 14919b495cSRui Paulo# Old compatibility headers 153bc70204SMax LaierINCS= pcap.h pcap-int.h pcap-namedb.h pcap-bpf.h 16919b495cSRui Paulo 17919b495cSRui PauloPCAPINCS= pcap/pcap.h pcap/namedb.h pcap/bpf.h 18919b495cSRui PauloPCAPINCSDIR= ${INCLUDEDIR}/pcap 19919b495cSRui PauloINCSGROUPS= INCS PCAPINCS 20919b495cSRui Paulo 2128510af5SRui PauloMAN= pcap.3 \ 2228510af5SRui Paulo pcap_activate.3 \ 2328510af5SRui Paulo pcap_breakloop.3 \ 2428510af5SRui Paulo pcap_can_set_rfmon.3 \ 2528510af5SRui Paulo pcap_close.3 \ 2628510af5SRui Paulo pcap_compile.3 \ 2728510af5SRui Paulo pcap_create.3 \ 2828510af5SRui Paulo pcap_datalink.3 \ 2928510af5SRui Paulo pcap_datalink_name_to_val.3 \ 3028510af5SRui Paulo pcap_datalink_val_to_name.3 \ 3128510af5SRui Paulo pcap_dump.3 \ 3228510af5SRui Paulo pcap_dump_close.3 \ 3328510af5SRui Paulo pcap_dump_file.3 \ 3428510af5SRui Paulo pcap_dump_flush.3 \ 3528510af5SRui Paulo pcap_dump_ftell.3 \ 3628510af5SRui Paulo pcap_dump_open.3 \ 3728510af5SRui Paulo pcap_file.3 \ 3828510af5SRui Paulo pcap_fileno.3 \ 3928510af5SRui Paulo pcap_findalldevs.3 \ 4028510af5SRui Paulo pcap_freecode.3 \ 4128510af5SRui Paulo pcap_get_selectable_fd.3 \ 4228510af5SRui Paulo pcap_geterr.3 \ 4328510af5SRui Paulo pcap_inject.3 \ 4428510af5SRui Paulo pcap_is_swapped.3 \ 4528510af5SRui Paulo pcap_lib_version.3 \ 4628510af5SRui Paulo pcap_list_datalinks.3 \ 47d1e87331SXin LI pcap_list_tstamp_types.3 \ 4828510af5SRui Paulo pcap_lookupdev.3 \ 4928510af5SRui Paulo pcap_lookupnet.3 \ 5028510af5SRui Paulo pcap_loop.3 \ 5128510af5SRui Paulo pcap_major_version.3 \ 5228510af5SRui Paulo pcap_next_ex.3 \ 5328510af5SRui Paulo pcap_offline_filter.3 \ 5428510af5SRui Paulo pcap_open_dead.3 \ 5528510af5SRui Paulo pcap_open_live.3 \ 5628510af5SRui Paulo pcap_open_offline.3 \ 5728510af5SRui Paulo pcap_set_buffer_size.3 \ 5828510af5SRui Paulo pcap_set_datalink.3 \ 5928510af5SRui Paulo pcap_set_promisc.3 \ 6028510af5SRui Paulo pcap_set_rfmon.3 \ 6128510af5SRui Paulo pcap_set_snaplen.3 \ 6228510af5SRui Paulo pcap_set_timeout.3 \ 63d1e87331SXin LI pcap_set_tstamp_type.3 \ 6428510af5SRui Paulo pcap_setdirection.3 \ 6528510af5SRui Paulo pcap_setfilter.3 \ 6628510af5SRui Paulo pcap_setnonblock.3 \ 6728510af5SRui Paulo pcap_snapshot.3 \ 6828510af5SRui Paulo pcap_stats.3 \ 6928510af5SRui Paulo pcap_statustostr.3 \ 7028510af5SRui Paulo pcap_strerror.3 \ 7128510af5SRui Paulo pcap-savefile.5 \ 72d1e87331SXin LI pcap_tstamp_type_name_to_val.3 \ 73d1e87331SXin LI pcap_tstamp_type_val_to_name.3 \ 7428510af5SRui Paulo pcap-filter.7 \ 7528510af5SRui Paulo pcap-linktype.7 7628510af5SRui PauloMLINKS= pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \ 7728510af5SRui Paulo pcap_dump_open.3 pcap_dump_fopen.3 \ 78d1e87331SXin LI pcap_findalldevs.3 pcap_freealldevs.3 \ 7928510af5SRui Paulo pcap_geterr.3 pcap_perror.3 \ 8028510af5SRui Paulo pcap_inject.3 pcap_sendpacket.3 \ 81d1e87331SXin LI pcap_list_datalinks.3 pcap_free_datalinks.3 \ 82d1e87331SXin LI pcap_list_tstamp_types.3 pcap_free_tstamp_types.3 \ 8328510af5SRui Paulo pcap_loop.3 pcap_dispatch.3 \ 8428510af5SRui Paulo pcap_major_version.3 pcap_minor_version.3 \ 8528510af5SRui Paulo pcap_next_ex.3 pcap_next.3 \ 8628510af5SRui Paulo pcap_open_offline.3 pcap_fopen_offline.3 \ 8728510af5SRui Paulo pcap_setnonblock.3 pcap_getnonblock.3 8857b00b99SPawel Jakub Dawidek 8979df4466SRui Paulo# Our man pages are a special copy from the distdir. See below. 9028510af5SRui PauloCLEANFILES+=${MAN} 9128510af5SRui PauloCLEANFILES+=tokdefs.h version.h version.c 92bf18e76aSPaul Traina 933267cc18SBrian FeldmanYFLAGS+=-p pcapyy 943267cc18SBrian FeldmanLFLAGS+=-Ppcapyy 953267cc18SBrian FeldmanCFLAGS+=-DHAVE_CONFIG_H -Dyylval=pcapyylval -I${.CURDIR} -I. 96eb9f0330SBruce M SimpsonCFLAGS+=-D_U_="__attribute__((unused))" 97eb9f0330SBruce M SimpsonCFLAGS+=-DHAVE_SNPRINTF -DHAVE_VSNPRINTF 98e1fe3dbaSRuslan Ermilov.if ${MK_INET6_SUPPORT} != "no" 99f3952ecbSBruce EvansCFLAGS+=-DINET6 1004f9bc6c6SSteve Price.endif 1013bc70204SMax Laier.if ${MK_PF} != "no" 1023bc70204SMax LaierCFLAGS+=-DHAVE_NET_PFVAR_H 1033bc70204SMax Laier.endif 104bf18e76aSPaul Traina 105daaf5759SEd SchoutenWARNS?= 0 106daaf5759SEd Schouten 1077596eb48SKonstantin BelousovSHLIB_MAJOR= 8 1080db59933SPaul Traina 109bf18e76aSPaul Traina# 110bf18e76aSPaul Traina# Magic to grab sources out of src/contrib 111bf18e76aSPaul Traina# 1129f6ca50cSPaul TrainaPCAP_DISTDIR?=${.CURDIR}/../../contrib/libpcap 11346da4bc6SBill FennerCFLAGS+=-I${PCAP_DISTDIR} 1149f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR} 1159f6ca50cSPaul Traina.PATH: ${PCAP_DISTDIR}/bpf/net 116bf18e76aSPaul Traina 11727d941cbSBill Fennerversion.c: ${PCAP_DISTDIR}/VERSION 11827d941cbSBill Fenner @rm -f $@ 11927d941cbSBill Fenner sed 's/.*/char pcap_version[] = "&";/' ${PCAP_DISTDIR}/VERSION > $@ 12027d941cbSBill Fenner 121eb9f0330SBruce M Simpsonversion.h: ${PCAP_DISTDIR}/VERSION 122eb9f0330SBruce M Simpson @rm -f $@ 123eb9f0330SBruce M Simpson sed 's/.*/char pcap_version_string[] = "libpcap version &";/' ${PCAP_DISTDIR}/VERSION > $@ 124eb9f0330SBruce M Simpson 12555554ef2SBruce Evanstokdefs.h: grammar.h 12655554ef2SBruce Evans ln -sf grammar.h tokdefs.h 127609c8587SJordan K. Hubbard 12828510af5SRui Paulo 12928510af5SRui Paulo# 13028510af5SRui Paulo# Magic to convert the man pages to something non Solarish 13128510af5SRui Paulo# 13228510af5SRui Paulo.for _page in ${MAN} 13328510af5SRui Paulo${_page}: 13428510af5SRui Paulo if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then \ 13528510af5SRui Paulo F=${_page:S/3$/3pcap/}; \ 13628510af5SRui Paulo elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then \ 13728510af5SRui Paulo F=${_page:S/5$/manfile/}; \ 13828510af5SRui Paulo else \ 13928510af5SRui Paulo F=${_page:S/7$/manmisc/}; \ 14028510af5SRui Paulo fi; \ 14128510af5SRui Paulo sed -e 's/3PCAP/3/g' ${PCAP_DISTDIR}/$$F > ${_page} 14228510af5SRui Paulo.endfor 14328510af5SRui Paulo 144609c8587SJordan K. Hubbard.include <bsd.lib.mk> 145