Makefile revision 195767
1248619Sdes# Makefile for libpcap
2124208Sdes# $FreeBSD: head/lib/libpcap/Makefile 195767 2009-07-19 17:25:24Z kensmith $
3124208Sdes
4124208SdesSHLIBDIR?= /lib
5124208Sdes
6124208Sdes.include <bsd.own.mk>
7124208Sdes
8124208SdesLIB=	pcap
9124208SdesSRCS=	grammar.y tokdefs.h version.h pcap-bpf.c \
10124208Sdes	pcap.c inet.c fad-getad.c gencode.c optimize.c nametoaddr.c \
11124208Sdes	etherent.c savefile.c bpf_filter.c bpf_image.c bpf_dump.c \
12124208Sdes	scanner.l version.c
13124208Sdes
14124208Sdes# Old compatibility headers
15124208SdesINCS=	pcap.h pcap-int.h pcap-namedb.h pcap-bpf.h
16124208Sdes
17124208SdesPCAPINCS=	pcap/pcap.h pcap/namedb.h pcap/bpf.h
18124208SdesPCAPINCSDIR=	${INCLUDEDIR}/pcap
19124208SdesINCSGROUPS=	INCS PCAPINCS
20124208Sdes
21124208SdesMAN=	pcap.3 \
22124208Sdes	pcap_activate.3 \
23124208Sdes	pcap_breakloop.3 \
24124208Sdes	pcap_can_set_rfmon.3 \
25124208Sdes	pcap_close.3 \
26124208Sdes	pcap_compile.3 \
27124208Sdes	pcap_create.3 \
28124208Sdes	pcap_datalink.3 \
29124208Sdes	pcap_datalink_name_to_val.3 \
30124208Sdes	pcap_datalink_val_to_name.3 \
31162852Sdes	pcap_dump.3 \
32162852Sdes	pcap_dump_close.3 \
33162852Sdes	pcap_dump_file.3 \
34162852Sdes	pcap_dump_flush.3 \
35162852Sdes	pcap_dump_ftell.3 \
36162852Sdes	pcap_dump_open.3 \
37162852Sdes	pcap_file.3 \
38124208Sdes	pcap_fileno.3 \
39124208Sdes	pcap_findalldevs.3 \
40124208Sdes	pcap_free_datalinks.3 \
41124208Sdes	pcap_freealldevs.3 \
42162852Sdes	pcap_freecode.3 \
43124208Sdes	pcap_get_selectable_fd.3 \
44124208Sdes	pcap_geterr.3 \
45162852Sdes	pcap_inject.3 \
46124208Sdes	pcap_is_swapped.3 \
47124208Sdes	pcap_lib_version.3 \
48124208Sdes	pcap_list_datalinks.3 \
49124208Sdes	pcap_lookupdev.3 \
50124208Sdes	pcap_lookupnet.3 \
51126274Sdes	pcap_loop.3 \
52124208Sdes	pcap_major_version.3 \
53124208Sdes	pcap_next_ex.3 \
54124208Sdes	pcap_offline_filter.3 \
55124208Sdes	pcap_open_dead.3 \
56124208Sdes	pcap_open_live.3 \
57157016Sdes	pcap_open_offline.3 \
58124208Sdes	pcap_set_buffer_size.3 \
59124208Sdes	pcap_set_datalink.3 \
60124208Sdes	pcap_set_promisc.3 \
61124208Sdes	pcap_set_rfmon.3 \
62137015Sdes	pcap_set_snaplen.3 \
63124208Sdes	pcap_set_timeout.3 \
64124208Sdes	pcap_setdirection.3 \
65124208Sdes	pcap_setfilter.3 \
66124208Sdes	pcap_setnonblock.3 \
67124208Sdes	pcap_snapshot.3 \
68124208Sdes	pcap_stats.3 \
69149749Sdes	pcap_statustostr.3 \
70124208Sdes	pcap_strerror.3 \
71124208Sdes	pcap-savefile.5 \
72124208Sdes	pcap-filter.7 \
73124208Sdes	pcap-linktype.7
74124208SdesMLINKS=	pcap_datalink_val_to_name.3 pcap_datalink_val_to_description.3 \
75124208Sdes	pcap_dump_open.3 pcap_dump_fopen.3 \
76124208Sdes	pcap_geterr.3 pcap_perror.3 \
77124208Sdes	pcap_inject.3 pcap_sendpacket.3 \
78124208Sdes	pcap_loop.3 pcap_dispatch.3 \
79124208Sdes	pcap_major_version.3 pcap_minor_version.3 \
80124208Sdes	pcap_next_ex.3 pcap_next.3 \
81124208Sdes	pcap_open_offline.3 pcap_fopen_offline.3 \
82124208Sdes	pcap_setnonblock.3 pcap_getnonblock.3
83124208Sdes
84124208Sdes# Our man pages are a special copy from the distdir. See below.
85124208SdesCLEANFILES+=${MAN}
86124208SdesCLEANFILES+=tokdefs.h version.h version.c
87126274Sdes
88124208SdesYFLAGS+=-p pcapyy
89124208SdesLFLAGS+=-Ppcapyy
90149749SdesCFLAGS+=-DHAVE_CONFIG_H -Dyylval=pcapyylval -I${.CURDIR} -I.
91149749SdesCFLAGS+=-D_U_="__attribute__((unused))"
92137015SdesCFLAGS+=-DHAVE_SNPRINTF -DHAVE_VSNPRINTF
93137015Sdes.if ${MK_INET6_SUPPORT} != "no"
94137015SdesCFLAGS+=-DINET6
95126274Sdes.endif
96126274Sdes.if ${MK_PF} != "no"
97126274SdesCFLAGS+=-DHAVE_NET_PFVAR_H
98124208Sdes.endif
99124208Sdes
100124208SdesSHLIB_MAJOR=7
101124208Sdes
102124208Sdes#
103124208Sdes# Magic to grab sources out of src/contrib
104124208Sdes#
105226046SdesPCAP_DISTDIR?=${.CURDIR}/../../contrib/libpcap
106124208SdesCFLAGS+=-I${PCAP_DISTDIR}
107124208Sdes.PATH:	${PCAP_DISTDIR}
108124208Sdes.PATH:	${PCAP_DISTDIR}/bpf/net
109137015Sdes
110162852Sdesversion.c: ${PCAP_DISTDIR}/VERSION
111162852Sdes	@rm -f $@
112124208Sdes	sed 's/.*/char pcap_version[] = "&";/' ${PCAP_DISTDIR}/VERSION > $@
113226046Sdes
114124208Sdesversion.h: ${PCAP_DISTDIR}/VERSION
115124208Sdes	@rm -f $@
116124208Sdes	sed 's/.*/char pcap_version_string[] = "libpcap version &";/' ${PCAP_DISTDIR}/VERSION > $@
117157016Sdes
118124208Sdestokdefs.h: grammar.h
119124208Sdes	ln -sf grammar.h tokdefs.h
120124208Sdes
121126274Sdes
122124208Sdes#
123124208Sdes# Magic to convert the man pages to something non Solarish
124124208Sdes#
125124208Sdes.for _page in ${MAN}
126124208Sdes${_page}:
127124208Sdes	if [ -f ${PCAP_DISTDIR}/${_page:S/3$/3pcap/} ]; then		\
128124208Sdes		F=${_page:S/3$/3pcap/}; 				\
129124208Sdes	elif [ -f ${PCAP_DISTDIR}/${_page:S/5$/manfile/} ]; then	\
130124208Sdes		F=${_page:S/5$/manfile/};				\
131124208Sdes	else								\
132124208Sdes		F=${_page:S/7$/manmisc/};				\
133124208Sdes	fi;								\
134124208Sdes	sed -e 's/3PCAP/3/g' ${PCAP_DISTDIR}/$$F > ${_page}
135124208Sdes.endfor
136124208Sdes
137124208Sdes.include <bsd.lib.mk>
138124208Sdes