xref: /netbsd-src/external/bsd/tcpdump/bin/Makefile (revision ca4ea0bc016b00bab900a4a718009bd53395881d)
1#	$NetBSD: Makefile,v 1.27 2023/08/18 12:55:50 tnn Exp $
2
3WARNS?=	1	# XXX: need to cleanup later
4
5CWARNFLAGS.clang+=	-Wno-constant-logical-operand -Wno-error=unused-function
6
7.include <bsd.own.mk>
8
9USE_FORT?= yes	# network client
10
11BINDIR=/usr/sbin
12SRCDIR=	${.CURDIR}/../dist
13.PATH:	${SRCDIR}
14
15PROG=	tcpdump
16MAN=	tcpdump.8
17
18SRCS=	addrtoname.c cpack.c fptype.c gmpls.c machdep.c oui.c parsenfsfh.c \
19	smbutil.c tcpdump.c netdissect-alloc.c netdissect.c checksum.c \
20	signature.c l2vpn.c nlpid.c ntp.c ipproto.c af.c in_cksum.c \
21	pf_print_state.c util-print.c addrtostr.c ascii_strcasecmp.c print.c \
22	strtoaddr.c
23
24SRCS+=	bpf_dump.c
25SRCS+=	version.c
26
27SRCS+= \
28print-802_11.c \
29print-802_15_4.c \
30print-ah.c \
31print-ahcp.c \
32print-aodv.c \
33print-aoe.c \
34print-ap1394.c \
35print-arcnet.c \
36print-arista.c \
37print-arp.c \
38print-ascii.c \
39print-atalk.c \
40print-atm.c \
41print-bcm-li.c \
42print-beep.c \
43print-bfd.c \
44print-bgp.c \
45print-bootp.c \
46print-brcmtag.c \
47print-bt.c \
48print-calm-fast.c \
49print-carp.c \
50print-cdp.c \
51print-cfm.c \
52print-chdlc.c \
53print-cip.c \
54print-cnfp.c \
55print-dccp.c \
56print-decnet.c \
57print-domain.c \
58print-dsa.c \
59print-dtp.c \
60print-dvmrp.c \
61print-eap.c \
62print-egp.c \
63print-eigrp.c \
64print-enc.c \
65print-esp.c \
66print-ether.c \
67print-fddi.c \
68print-forces.c \
69print-fr.c \
70print-ftp.c \
71print-geneve.c \
72print-geonet.c \
73print-gre.c \
74print-hncp.c \
75print-hsrp.c \
76print-http.c \
77print-icmp.c \
78print-igmp.c \
79print-igrp.c \
80print-ip-demux.c \
81print-ip.c \
82print-ipcomp.c \
83print-ipfc.c \
84print-ipnet.c \
85print-ipoib.c \
86print-ipx.c \
87print-isakmp.c \
88print-isoclns.c \
89print-juniper.c \
90print-krb.c \
91print-l2tp.c \
92print-lane.c \
93print-ldp.c \
94print-lisp.c \
95print-llc.c \
96print-lldp.c \
97print-lmp.c \
98print-loopback.c \
99print-lspping.c \
100print-lwapp.c \
101print-lwres.c \
102print-m3ua.c \
103print-macsec.c \
104print-mobile.c \
105print-mobility.c \
106print-mpcp.c \
107print-mpls.c \
108print-mptcp.c \
109print-msdp.c \
110print-msnlb.c \
111print-nflog.c \
112print-nfs.c \
113print-nsh.c \
114print-ntp.c \
115print-null.c \
116print-olsr.c \
117print-openflow-1.0.c \
118print-openflow-1.3.c \
119print-openflow.c \
120print-ospf.c \
121print-otv.c \
122print-pflog.c \
123print-pfsync.c \
124print-pgm.c \
125print-pim.c \
126print-pktap.c \
127print-ppi.c \
128print-ppp.c \
129print-pppoe.c \
130print-pptp.c \
131print-ptp.c \
132print-radius.c \
133print-raw.c \
134print-realtek.c \
135print-resp.c \
136print-rip.c \
137print-ripng.c \
138print-rpki-rtr.c \
139print-rsvp.c \
140print-rtsp.c \
141print-rx.c \
142print-sctp.c \
143print-sflow.c \
144print-sip.c \
145print-sl.c \
146print-sll.c \
147print-slow.c \
148print-smb.c \
149print-smtp.c \
150print-snmp.c \
151print-someip.c \
152print-ssh.c \
153print-stp.c \
154print-sunatm.c \
155print-sunrpc.c \
156print-symantec.c \
157print-syslog.c \
158print-tcp.c \
159print-telnet.c \
160print-tftp.c \
161print-timed.c \
162print-tipc.c \
163print-token.c \
164print-udld.c \
165print-udp.c \
166print-unsupported.c \
167print-usb.c \
168print-vjc.c \
169print-vqp.c \
170print-vrrp.c \
171print-vsock.c \
172print-vtp.c \
173print-vxlan-gpe.c \
174print-vxlan.c \
175print-wb.c \
176print-whois.c \
177print-zep.c \
178print-zephyr.c \
179print-zeromq.c
180
181version.c: VERSION
182	${_MKTARGET_CREATE}
183	${TOOL_SED} -e 's/.*/char version[] = "&";/' ${.ALLSRC} > ${.TARGET}
184
185LDADD+=	-lpcap -ll
186DPADD+=	${LIBPCAP} ${LIBL}
187
188CPPFLAGS+=	-I${.CURDIR}/../include -I${.CURDIR} -I${SRCDIR} -DHAVE_CONFIG_H
189CPPFLAGS+=  -I${NETBSDSRCDIR}/dist/pf/sbin/pfctl \
190	-I${NETBSDSRCDIR}/sys/dist/pf
191
192AWKS= atime.awk packetdat.awk stime.awk send-ack.awk
193
194CPPFLAGS+=-DHAVE_CONFIG_H
195
196CPPFLAGS+=-DWITH_USER=\"_tcpdump\"
197CPPFLAGS+=-DWITH_CHROOT=\"/var/chroot/tcpdump\"
198
199.if (${USE_INET6} != "no")
200SRCS+= \
201print-babel.c \
202print-ip6opts.c \
203print-dhcp6.c \
204print-frag6.c \
205print-icmp6.c \
206print-ip6.c \
207print-ospf6.c \
208print-rt6.c
209
210CPPFLAGS+=-DHAVE_OS_IPV6_SUPPORT=1
211.endif
212
213CPPFLAGS+=-DHAVE_LIBCRYPTO=1 -DHAVE_OPENSSL_EVP_H
214LDADD+=	-lcrypto -lcrypt
215DPADD+=	${LIBCRYPTO} ${LIBCRYPT}
216
217CLEANFILES+=	version.c tcpdump.8
218
219tcpdump.8: tcpdump.1.in
220	@rm -f ${.TARGET}
221	cp ${.ALLSRC} ${.TARGET}
222
223CWARNFLAGS+=		${CC_WNO_ADDRESS_OF_PACKED_MEMBER}
224COPTS.print-bgp.c+=	${CC_WNO_FORMAT_TRUNCATION}
225COPTS.signature.c+=	-Wno-error=deprecated-declarations
226COPTS.print-tcp.c+=	-Wno-error=deprecated-declarations
227
228.include <bsd.prog.mk>
229