Makefile revision 214529
152419Sjulian# Makefile for libpcap
252419Sjulian# $FreeBSD: head/lib/libpcap/Makefile 214529 2010-10-29 20:54:04Z rpaulo $
3139823Simp
4139823SimpSHLIBDIR?= /lib
5139823Simp
652419Sjulian.include <bsd.own.mk>
752419Sjulian
870700SjulianLIB=	pcap
952419SjulianSRCS=	grammar.y tokdefs.h version.h pcap-bpf.c \
1052419Sjulian	pcap.c pcap-common.c inet.c fad-getad.c gencode.c optimize.c nametoaddr.c \
1152419Sjulian	etherent.c savefile.c bpf_filter.c bpf_image.c bpf_dump.c \
1252419Sjulian	scanner.l sf-pcap.c sf-pcap-ng.c version.c
1352419Sjulian
1452419Sjulian# Old compatibility headers
1552419SjulianINCS=	pcap.h pcap-int.h pcap-namedb.h pcap-bpf.h
1652419Sjulian
1752419SjulianPCAPINCS=	pcap/pcap.h pcap/namedb.h pcap/bpf.h
1852419SjulianPCAPINCSDIR=	${INCLUDEDIR}/pcap
1970700SjulianINCSGROUPS=	INCS PCAPINCS
2052419Sjulian
2152419SjulianMAN=	pcap.3 \
2252419Sjulian	pcap_activate.3 \
2352419Sjulian	pcap_breakloop.3 \
2452419Sjulian	pcap_can_set_rfmon.3 \
2552419Sjulian	pcap_close.3 \
2652419Sjulian	pcap_compile.3 \
2752419Sjulian	pcap_create.3 \
2852419Sjulian	pcap_datalink.3 \
2952419Sjulian	pcap_datalink_name_to_val.3 \
3052419Sjulian	pcap_datalink_val_to_name.3 \
3152419Sjulian	pcap_dump.3 \
3252419Sjulian	pcap_dump_close.3 \
3352419Sjulian	pcap_dump_file.3 \
3452419Sjulian	pcap_dump_flush.3 \
3552419Sjulian	pcap_dump_ftell.3 \
3652419Sjulian	pcap_dump_open.3 \
3752419Sjulian	pcap_file.3 \
3867506Sjulian	pcap_fileno.3 \
3967506Sjulian	pcap_findalldevs.3 \
4052419Sjulian	pcap_free_datalinks.3 \
4152419Sjulian	pcap_freealldevs.3 \
4252419Sjulian	pcap_freecode.3 \
4352419Sjulian	pcap_get_selectable_fd.3 \
4452419Sjulian	pcap_geterr.3 \
4552419Sjulian	pcap_inject.3 \
4652419Sjulian	pcap_is_swapped.3 \
4752419Sjulian	pcap_lib_version.3 \
4852419Sjulian	pcap_list_datalinks.3 \
4952419Sjulian	pcap_lookupdev.3 \
50139236Sglebius	pcap_lookupnet.3 \
51139235Sglebius	pcap_loop.3 \
5252419Sjulian	pcap_major_version.3 \
53131933Smarcel	pcap_next_ex.3 \
5452419Sjulian	pcap_offline_filter.3 \
55114216Skan	pcap_open_dead.3 \
5652419Sjulian	pcap_open_live.3 \
57139235Sglebius	pcap_open_offline.3 \
5852419Sjulian	pcap_set_buffer_size.3 \
5972946Sjulian	pcap_set_datalink.3 \
60139235Sglebius	pcap_set_promisc.3 \
6152419Sjulian	pcap_set_rfmon.3 \
6252419Sjulian	pcap_set_snaplen.3 \
6352419Sjulian	pcap_set_timeout.3 \
6452419Sjulian	pcap_setdirection.3 \
6552419Sjulian	pcap_setfilter.3 \
6653913Sarchie	pcap_setnonblock.3 \
6752419Sjulian	pcap_snapshot.3 \
6872053Sjulian	pcap_stats.3 \
6959756Speter	pcap_statustostr.3 \
7070784Sjulian	pcap_strerror.3 \
7170700Sjulian	pcap-savefile.5 \
7270700Sjulian	pcap-filter.7 \
7352419Sjulian	pcap-linktype.7
7470784SjulianMLINKS=	pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \
75146212Sglebius	pcap_dump_open.3 pcap_dump_fopen.3 \
7670784Sjulian	pcap_geterr.3 pcap_perror.3 \
7770784Sjulian	pcap_inject.3 pcap_sendpacket.3 \
7870784Sjulian	pcap_loop.3 pcap_dispatch.3 \
7970784Sjulian	pcap_major_version.3 pcap_minor_version.3 \
8070784Sjulian	pcap_next_ex.3 pcap_next.3 \
8170784Sjulian	pcap_open_offline.3 pcap_fopen_offline.3 \
8270784Sjulian	pcap_setnonblock.3 pcap_getnonblock.3
8370784Sjulian
8470784Sjulian# Our man pages are a special copy from the distdir. See below.
8570784SjulianCLEANFILES+=${MAN}
8670784SjulianCLEANFILES+=tokdefs.h version.h version.c
8770935Sjulian
8870935SjulianYFLAGS+=-p pcapyy
8970935SjulianLFLAGS+=-Ppcapyy
9070935SjulianCFLAGS+=-DHAVE_CONFIG_H -Dyylval=pcapyylval -I${.CURDIR} -I.
9170935SjulianCFLAGS+=-D_U_="__attribute__((unused))"
9270935SjulianCFLAGS+=-DHAVE_SNPRINTF -DHAVE_VSNPRINTF
9370935Sjulian.if ${MK_INET6_SUPPORT} != "no"
9470935SjulianCFLAGS+=-DINET6
9570935Sjulian.endif
9670935Sjulian.if ${MK_PF} != "no"
9770935SjulianCFLAGS+=-DHAVE_NET_PFVAR_H
9870935Sjulian.endif
9970935Sjulian
10070935SjulianWARNS?=	0
10170935Sjulian
10270935SjulianSHLIB_MAJOR=7
10370935Sjulian
10470935Sjulian#
10570935Sjulian# Magic to grab sources out of src/contrib
10670935Sjulian#
10770784SjulianPCAP_DISTDIR?=${.CURDIR}/../../contrib/libpcap
10870935SjulianCFLAGS+=-I${PCAP_DISTDIR}
10970935Sjulian.PATH:	${PCAP_DISTDIR}
11070935Sjulian.PATH:	${PCAP_DISTDIR}/bpf/net
111132464Sjulian
11270935Sjulianversion.c: ${PCAP_DISTDIR}/VERSION
11370935Sjulian	@rm -f $@
11470935Sjulian	sed 's/.*/char pcap_version[] = "&";/' ${PCAP_DISTDIR}/VERSION > $@
11570935Sjulian
11670935Sjulianversion.h: ${PCAP_DISTDIR}/VERSION
11770935Sjulian	@rm -f $@
11870935Sjulian	sed 's/.*/char pcap_version_string[] = "libpcap version &";/' ${PCAP_DISTDIR}/VERSION > $@
11970935Sjulian
12070935Sjuliantokdefs.h: grammar.h
12170935Sjulian	ln -sf grammar.h tokdefs.h
12270935Sjulian
12370935Sjulian
12470935Sjulian#
12570935Sjulian# Magic to convert the man pages to something non Solarish
12670935Sjulian#
12770935Sjulian.for _page in ${MAN}
12870935Sjulian${_page}:
12970935Sjulian	if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then		\
13070935Sjulian		F=${_page:S/3$/3pcap/}; 				\
13170935Sjulian	elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then	\
13270935Sjulian		F=${_page:S/5$/manfile/};				\
13370935Sjulian	else								\
13470935Sjulian		F=${_page:S/7$/manmisc/};				\
13570935Sjulian	fi;								\
13670935Sjulian	sed -e 's/3PCAP/3/g' ${PCAP_DISTDIR}/$$F > ${_page}
13770935Sjulian.endfor
13870935Sjulian
139148261Sglebius.include <bsd.lib.mk>
14070935Sjulian