xref: /aosp_15_r20/external/tcpdump/Makefile.in (revision 05b00f6010a2396e3db2409989fc67270046269f)
1*05b00f60SXin Li#  Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
2*05b00f60SXin Li#	The Regents of the University of California.  All rights reserved.
3*05b00f60SXin Li#
4*05b00f60SXin Li#  Redistribution and use in source and binary forms, with or without
5*05b00f60SXin Li#  modification, are permitted provided that: (1) source code distributions
6*05b00f60SXin Li#  retain the above copyright notice and this paragraph in its entirety, (2)
7*05b00f60SXin Li#  distributions including binary code include the above copyright notice and
8*05b00f60SXin Li#  this paragraph in its entirety in the documentation or other materials
9*05b00f60SXin Li#  provided with the distribution, and (3) all advertising materials mentioning
10*05b00f60SXin Li#  features or use of this software display the following acknowledgement:
11*05b00f60SXin Li#  ``This product includes software developed by the University of California,
12*05b00f60SXin Li#  Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
13*05b00f60SXin Li#  the University nor the names of its contributors may be used to endorse
14*05b00f60SXin Li#  or promote products derived from this software without specific prior
15*05b00f60SXin Li#  written permission.
16*05b00f60SXin Li#  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
17*05b00f60SXin Li#  WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
18*05b00f60SXin Li#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19*05b00f60SXin Li
20*05b00f60SXin Li#
21*05b00f60SXin Li# Various configurable paths (remember to edit Makefile.in, not Makefile)
22*05b00f60SXin Li#
23*05b00f60SXin Li
24*05b00f60SXin Li# Top level hierarchy
25*05b00f60SXin Liprefix = @prefix@
26*05b00f60SXin Liexec_prefix = @exec_prefix@
27*05b00f60SXin Lidatarootdir = @datarootdir@
28*05b00f60SXin Li# Pathname of directory to install the binary
29*05b00f60SXin Libindir = @bindir@
30*05b00f60SXin Li# Pathname of directory to install the man page
31*05b00f60SXin Limandir = @mandir@
32*05b00f60SXin Li
33*05b00f60SXin Li# VPATH
34*05b00f60SXin Lisrcdir = @srcdir@
35*05b00f60SXin Litop_srcdir = @top_srcdir@
36*05b00f60SXin LiVPATH = @srcdir@
37*05b00f60SXin Li
38*05b00f60SXin Li#
39*05b00f60SXin Li# You shouldn't need to edit anything below here.
40*05b00f60SXin Li#
41*05b00f60SXin Li
42*05b00f60SXin LiCC = @CC@
43*05b00f60SXin LiAR = @AR@
44*05b00f60SXin LiMKDEP = @MKDEP@
45*05b00f60SXin LiPROG = tcpdump
46*05b00f60SXin LiCCOPT = @V_CCOPT@
47*05b00f60SXin LiINCLS = -I. @V_INCLS@
48*05b00f60SXin LiDEFS = @DEFS@ @CPPFLAGS@ @V_DEFS@
49*05b00f60SXin Li
50*05b00f60SXin Li# Standard CFLAGS
51*05b00f60SXin LiCFLAGS = @CFLAGS@
52*05b00f60SXin LiFULL_CFLAGS = $(CCOPT) $(DEFS) $(INCLS) $(CFLAGS)
53*05b00f60SXin Li
54*05b00f60SXin Li# Standard LDFLAGS
55*05b00f60SXin LiLDFLAGS = @LDFLAGS@
56*05b00f60SXin Li
57*05b00f60SXin Li# Standard LIBS
58*05b00f60SXin LiLIBS = @LIBS@
59*05b00f60SXin Li
60*05b00f60SXin LiINSTALL = @INSTALL@
61*05b00f60SXin LiINSTALL_PROGRAM = @INSTALL_PROGRAM@
62*05b00f60SXin LiINSTALL_DATA = @INSTALL_DATA@
63*05b00f60SXin LiRANLIB = @RANLIB@
64*05b00f60SXin Li
65*05b00f60SXin LiDEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
66*05b00f60SXin Li
67*05b00f60SXin Li# Explicitly define compilation rule since SunOS 4's make doesn't like gcc.
68*05b00f60SXin Li# Also, gcc does not remove the .o before forking 'as', which can be a
69*05b00f60SXin Li# problem if you don't own the file but can write to the directory.
70*05b00f60SXin Li.c.o:
71*05b00f60SXin Li	@rm -f $@
72*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.c
73*05b00f60SXin Li
74*05b00f60SXin LiCSRC =	fptype.c tcpdump.c
75*05b00f60SXin Li
76*05b00f60SXin LiLIBNETDISSECT_SRC=\
77*05b00f60SXin Li	addrtoname.c \
78*05b00f60SXin Li	addrtostr.c \
79*05b00f60SXin Li	af.c \
80*05b00f60SXin Li	ascii_strcasecmp.c \
81*05b00f60SXin Li	checksum.c \
82*05b00f60SXin Li	cpack.c \
83*05b00f60SXin Li	gmpls.c \
84*05b00f60SXin Li	in_cksum.c \
85*05b00f60SXin Li	ipproto.c \
86*05b00f60SXin Li	l2vpn.c \
87*05b00f60SXin Li	machdep.c \
88*05b00f60SXin Li	netdissect.c \
89*05b00f60SXin Li	netdissect-alloc.c \
90*05b00f60SXin Li	nlpid.c \
91*05b00f60SXin Li	ntp.c \
92*05b00f60SXin Li	oui.c \
93*05b00f60SXin Li	parsenfsfh.c \
94*05b00f60SXin Li	print.c \
95*05b00f60SXin Li	print-802_11.c \
96*05b00f60SXin Li	print-802_15_4.c \
97*05b00f60SXin Li	print-ah.c \
98*05b00f60SXin Li	print-ahcp.c \
99*05b00f60SXin Li	print-aodv.c \
100*05b00f60SXin Li	print-aoe.c \
101*05b00f60SXin Li	print-ap1394.c \
102*05b00f60SXin Li	print-arcnet.c \
103*05b00f60SXin Li	print-arista.c \
104*05b00f60SXin Li	print-arp.c \
105*05b00f60SXin Li	print-ascii.c \
106*05b00f60SXin Li	print-atalk.c \
107*05b00f60SXin Li	print-atm.c \
108*05b00f60SXin Li	print-babel.c \
109*05b00f60SXin Li	print-bcm-li.c \
110*05b00f60SXin Li	print-beep.c \
111*05b00f60SXin Li	print-bfd.c \
112*05b00f60SXin Li	print-bgp.c \
113*05b00f60SXin Li	print-bootp.c \
114*05b00f60SXin Li	print-brcmtag.c \
115*05b00f60SXin Li	print-bt.c \
116*05b00f60SXin Li	print-calm-fast.c \
117*05b00f60SXin Li	print-carp.c \
118*05b00f60SXin Li	print-cdp.c \
119*05b00f60SXin Li	print-cfm.c \
120*05b00f60SXin Li	print-chdlc.c \
121*05b00f60SXin Li	print-cip.c \
122*05b00f60SXin Li	print-cnfp.c \
123*05b00f60SXin Li	print-dccp.c \
124*05b00f60SXin Li	print-decnet.c \
125*05b00f60SXin Li	print-dhcp6.c \
126*05b00f60SXin Li	print-domain.c \
127*05b00f60SXin Li	print-dsa.c \
128*05b00f60SXin Li	print-dtp.c \
129*05b00f60SXin Li	print-dvmrp.c \
130*05b00f60SXin Li	print-eap.c \
131*05b00f60SXin Li	print-egp.c \
132*05b00f60SXin Li	print-eigrp.c \
133*05b00f60SXin Li	print-enc.c \
134*05b00f60SXin Li	print-esp.c \
135*05b00f60SXin Li	print-ether.c \
136*05b00f60SXin Li	print-fddi.c \
137*05b00f60SXin Li	print-forces.c \
138*05b00f60SXin Li	print-fr.c \
139*05b00f60SXin Li	print-frag6.c \
140*05b00f60SXin Li	print-ftp.c \
141*05b00f60SXin Li	print-geneve.c \
142*05b00f60SXin Li	print-geonet.c \
143*05b00f60SXin Li	print-gre.c \
144*05b00f60SXin Li	print-hncp.c \
145*05b00f60SXin Li	print-hsrp.c \
146*05b00f60SXin Li	print-http.c \
147*05b00f60SXin Li	print-icmp.c \
148*05b00f60SXin Li	print-icmp6.c \
149*05b00f60SXin Li	print-igmp.c \
150*05b00f60SXin Li	print-igrp.c \
151*05b00f60SXin Li	print-ip-demux.c \
152*05b00f60SXin Li	print-ip.c \
153*05b00f60SXin Li	print-ip6.c \
154*05b00f60SXin Li	print-ip6opts.c \
155*05b00f60SXin Li	print-ipcomp.c \
156*05b00f60SXin Li	print-ipfc.c \
157*05b00f60SXin Li	print-ipnet.c \
158*05b00f60SXin Li	print-ipoib.c \
159*05b00f60SXin Li	print-ipx.c \
160*05b00f60SXin Li	print-isakmp.c \
161*05b00f60SXin Li	print-isoclns.c \
162*05b00f60SXin Li	print-juniper.c \
163*05b00f60SXin Li	print-krb.c \
164*05b00f60SXin Li	print-l2tp.c \
165*05b00f60SXin Li	print-lane.c \
166*05b00f60SXin Li	print-ldp.c \
167*05b00f60SXin Li	print-lisp.c \
168*05b00f60SXin Li	print-llc.c \
169*05b00f60SXin Li	print-lldp.c \
170*05b00f60SXin Li	print-lmp.c \
171*05b00f60SXin Li	print-loopback.c \
172*05b00f60SXin Li	print-lspping.c \
173*05b00f60SXin Li	print-lwapp.c \
174*05b00f60SXin Li	print-lwres.c \
175*05b00f60SXin Li	print-m3ua.c \
176*05b00f60SXin Li	print-macsec.c \
177*05b00f60SXin Li	print-mobile.c \
178*05b00f60SXin Li	print-mobility.c \
179*05b00f60SXin Li	print-mpcp.c \
180*05b00f60SXin Li	print-mpls.c \
181*05b00f60SXin Li	print-mptcp.c \
182*05b00f60SXin Li	print-msdp.c \
183*05b00f60SXin Li	print-msnlb.c \
184*05b00f60SXin Li	print-nflog.c \
185*05b00f60SXin Li	print-nfs.c \
186*05b00f60SXin Li	print-nsh.c \
187*05b00f60SXin Li	print-ntp.c \
188*05b00f60SXin Li	print-null.c \
189*05b00f60SXin Li	print-olsr.c \
190*05b00f60SXin Li	print-openflow-1.0.c \
191*05b00f60SXin Li	print-openflow-1.3.c \
192*05b00f60SXin Li	print-openflow.c \
193*05b00f60SXin Li	print-ospf.c \
194*05b00f60SXin Li	print-ospf6.c \
195*05b00f60SXin Li	print-otv.c \
196*05b00f60SXin Li	print-pflog.c \
197*05b00f60SXin Li	print-pgm.c \
198*05b00f60SXin Li	print-pim.c \
199*05b00f60SXin Li	print-pktap.c \
200*05b00f60SXin Li	print-ppi.c \
201*05b00f60SXin Li	print-ppp.c \
202*05b00f60SXin Li	print-pppoe.c \
203*05b00f60SXin Li	print-pptp.c \
204*05b00f60SXin Li	print-ptp.c \
205*05b00f60SXin Li	print-radius.c \
206*05b00f60SXin Li	print-raw.c \
207*05b00f60SXin Li	print-realtek.c \
208*05b00f60SXin Li	print-resp.c \
209*05b00f60SXin Li	print-rip.c \
210*05b00f60SXin Li	print-ripng.c \
211*05b00f60SXin Li	print-rpki-rtr.c \
212*05b00f60SXin Li	print-rsvp.c \
213*05b00f60SXin Li	print-rt6.c \
214*05b00f60SXin Li	print-rtsp.c \
215*05b00f60SXin Li	print-rx.c \
216*05b00f60SXin Li	print-sctp.c \
217*05b00f60SXin Li	print-sflow.c \
218*05b00f60SXin Li	print-sip.c \
219*05b00f60SXin Li	print-sl.c \
220*05b00f60SXin Li	print-sll.c \
221*05b00f60SXin Li	print-slow.c \
222*05b00f60SXin Li	print-smtp.c \
223*05b00f60SXin Li	print-snmp.c \
224*05b00f60SXin Li	print-someip.c \
225*05b00f60SXin Li	print-ssh.c \
226*05b00f60SXin Li	print-stp.c \
227*05b00f60SXin Li	print-sunatm.c \
228*05b00f60SXin Li	print-sunrpc.c \
229*05b00f60SXin Li	print-symantec.c \
230*05b00f60SXin Li	print-syslog.c \
231*05b00f60SXin Li	print-tcp.c \
232*05b00f60SXin Li	print-telnet.c \
233*05b00f60SXin Li	print-tftp.c \
234*05b00f60SXin Li	print-timed.c \
235*05b00f60SXin Li	print-tipc.c \
236*05b00f60SXin Li	print-token.c \
237*05b00f60SXin Li	print-udld.c \
238*05b00f60SXin Li	print-udp.c \
239*05b00f60SXin Li	print-unsupported.c \
240*05b00f60SXin Li	print-usb.c \
241*05b00f60SXin Li	print-vjc.c \
242*05b00f60SXin Li	print-vqp.c \
243*05b00f60SXin Li	print-vrrp.c \
244*05b00f60SXin Li	print-vsock.c \
245*05b00f60SXin Li	print-vtp.c \
246*05b00f60SXin Li	print-vxlan-gpe.c \
247*05b00f60SXin Li	print-vxlan.c \
248*05b00f60SXin Li	print-wb.c \
249*05b00f60SXin Li	print-whois.c \
250*05b00f60SXin Li	print-zep.c \
251*05b00f60SXin Li	print-zephyr.c \
252*05b00f60SXin Li	print-zeromq.c \
253*05b00f60SXin Li	signature.c \
254*05b00f60SXin Li	strtoaddr.c \
255*05b00f60SXin Li	util-print.c
256*05b00f60SXin Li
257*05b00f60SXin LiLOCALSRC = @LOCALSRC@
258*05b00f60SXin LiLIBOBJS = @LIBOBJS@
259*05b00f60SXin Li
260*05b00f60SXin LiLIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o) ${LOCALSRC:.c=.o} ${LIBOBJS}
261*05b00f60SXin LiLIBNETDISSECT=libnetdissect.a
262*05b00f60SXin Li
263*05b00f60SXin Li
264*05b00f60SXin LiSRC =	$(CSRC) $(LOCALSRC)
265*05b00f60SXin Li
266*05b00f60SXin Li# We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
267*05b00f60SXin Li# hack the extra indirection
268*05b00f60SXin LiOBJ =	$(CSRC:.c=.o)
269*05b00f60SXin LiHDR = \
270*05b00f60SXin Li	addrtoname.h \
271*05b00f60SXin Li	addrtostr.h \
272*05b00f60SXin Li	af.h \
273*05b00f60SXin Li	ah.h \
274*05b00f60SXin Li	appletalk.h \
275*05b00f60SXin Li	ascii_strcasecmp.h \
276*05b00f60SXin Li	atm.h \
277*05b00f60SXin Li	chdlc.h \
278*05b00f60SXin Li	compiler-tests.h \
279*05b00f60SXin Li	cpack.h \
280*05b00f60SXin Li	diag-control.h \
281*05b00f60SXin Li	ethertype.h \
282*05b00f60SXin Li	extract.h \
283*05b00f60SXin Li	fptype.h \
284*05b00f60SXin Li	ftmacros.h \
285*05b00f60SXin Li	funcattrs.h \
286*05b00f60SXin Li	getservent.h \
287*05b00f60SXin Li	gmpls.h \
288*05b00f60SXin Li	interface.h \
289*05b00f60SXin Li	ip.h \
290*05b00f60SXin Li	ip6.h \
291*05b00f60SXin Li	ipproto.h \
292*05b00f60SXin Li	l2vpn.h \
293*05b00f60SXin Li	llc.h \
294*05b00f60SXin Li	machdep.h \
295*05b00f60SXin Li	mib.h \
296*05b00f60SXin Li	mpls.h \
297*05b00f60SXin Li	nameser.h \
298*05b00f60SXin Li	netdissect.h \
299*05b00f60SXin Li	netdissect-alloc.h \
300*05b00f60SXin Li	netdissect-ctype.h \
301*05b00f60SXin Li	netdissect-stdinc.h \
302*05b00f60SXin Li	nfs.h \
303*05b00f60SXin Li	nfsfh.h \
304*05b00f60SXin Li	nlpid.h \
305*05b00f60SXin Li	ntp.h \
306*05b00f60SXin Li	openflow.h \
307*05b00f60SXin Li	ospf.h \
308*05b00f60SXin Li	oui.h \
309*05b00f60SXin Li	pcap-missing.h \
310*05b00f60SXin Li	pflog.h \
311*05b00f60SXin Li	ppp.h \
312*05b00f60SXin Li	print.h \
313*05b00f60SXin Li	rpc_auth.h \
314*05b00f60SXin Li	rpc_msg.h \
315*05b00f60SXin Li	signature.h \
316*05b00f60SXin Li	slcompress.h \
317*05b00f60SXin Li	smb.h \
318*05b00f60SXin Li	status-exit-codes.h \
319*05b00f60SXin Li	strtoaddr.h \
320*05b00f60SXin Li	tcp.h \
321*05b00f60SXin Li	timeval-operations.h \
322*05b00f60SXin Li	udp.h \
323*05b00f60SXin Li	varattrs.h
324*05b00f60SXin Li
325*05b00f60SXin LiTAGHDR = \
326*05b00f60SXin Li	/usr/include/netinet/if_ether.h \
327*05b00f60SXin Li	/usr/include/netinet/in.h
328*05b00f60SXin Li
329*05b00f60SXin LiTAGFILES = $(SRC) $(HDR) $(TAGHDR) $(LIBNETDISSECT_SRC) \
330*05b00f60SXin Li	print-smb.c smbutil.c
331*05b00f60SXin Li
332*05b00f60SXin LiCLEANFILES = $(PROG) $(OBJ) $(LIBNETDISSECT_OBJ) print-smb.o smbutil.o
333*05b00f60SXin Li
334*05b00f60SXin LiEXTRA_DIST = \
335*05b00f60SXin Li	CHANGES \
336*05b00f60SXin Li	CMakeLists.txt \
337*05b00f60SXin Li	CONTRIBUTING.md \
338*05b00f60SXin Li	CREDITS \
339*05b00f60SXin Li	INSTALL.md \
340*05b00f60SXin Li	LICENSE \
341*05b00f60SXin Li	Makefile-devel-adds \
342*05b00f60SXin Li	Makefile.in \
343*05b00f60SXin Li	README.md \
344*05b00f60SXin Li	VERSION \
345*05b00f60SXin Li	aclocal.m4 \
346*05b00f60SXin Li	atime.awk \
347*05b00f60SXin Li	bpf_dump.c \
348*05b00f60SXin Li	cmake/Modules/FindCRYPTO.cmake \
349*05b00f60SXin Li	cmake/Modules/FindPCAP.cmake \
350*05b00f60SXin Li	cmake/Modules/FindSMI.cmake \
351*05b00f60SXin Li	cmake_uninstall.cmake.in \
352*05b00f60SXin Li	cmakeconfig.h.in \
353*05b00f60SXin Li	config.guess \
354*05b00f60SXin Li	config.h.in \
355*05b00f60SXin Li	config.sub \
356*05b00f60SXin Li	configure \
357*05b00f60SXin Li	configure.ac \
358*05b00f60SXin Li	doc/README.aix.md \
359*05b00f60SXin Li	doc/README.NetBSD.md \
360*05b00f60SXin Li	doc/README.solaris.md \
361*05b00f60SXin Li	doc/README.Win32.md \
362*05b00f60SXin Li	install-sh \
363*05b00f60SXin Li	lbl/os-osf4.h \
364*05b00f60SXin Li	lbl/os-solaris2.h \
365*05b00f60SXin Li	lbl/os-sunos4.h \
366*05b00f60SXin Li	lbl/os-ultrix4.h \
367*05b00f60SXin Li	makemib \
368*05b00f60SXin Li	missing/datalinks.c \
369*05b00f60SXin Li	missing/dlnames.c \
370*05b00f60SXin Li	missing/getopt_long.c \
371*05b00f60SXin Li	missing/getopt_long.h \
372*05b00f60SXin Li	missing/getservent.c \
373*05b00f60SXin Li	missing/pcap_dump_ftell.c \
374*05b00f60SXin Li	missing/snprintf.c \
375*05b00f60SXin Li	missing/strdup.c \
376*05b00f60SXin Li	missing/strlcat.c \
377*05b00f60SXin Li	missing/strlcpy.c \
378*05b00f60SXin Li	missing/strsep.c \
379*05b00f60SXin Li	mkdep \
380*05b00f60SXin Li	packetdat.awk \
381*05b00f60SXin Li	print-smb.c \
382*05b00f60SXin Li	send-ack.awk \
383*05b00f60SXin Li	smbutil.c \
384*05b00f60SXin Li	stime.awk \
385*05b00f60SXin Li	tcpdump.1.in
386*05b00f60SXin Li
387*05b00f60SXin LiTEST_DIST= `git ls-files tests | grep -v 'tests/\..*'`
388*05b00f60SXin Li
389*05b00f60SXin LiRELEASE_FILES = $(CSRC) $(HDR) $(LIBNETDISSECT_SRC) $(EXTRA_DIST) $(TEST_DIST)
390*05b00f60SXin Li
391*05b00f60SXin Liall: $(PROG)
392*05b00f60SXin Li
393*05b00f60SXin Li$(PROG): $(OBJ) @V_PCAPDEP@ $(LIBNETDISSECT)
394*05b00f60SXin Li	@rm -f $@
395*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBNETDISSECT) $(LIBS)
396*05b00f60SXin Li
397*05b00f60SXin Li$(LIBNETDISSECT): $(LIBNETDISSECT_OBJ)
398*05b00f60SXin Li	@rm -f $@
399*05b00f60SXin Li	$(AR) cr $@ $(LIBNETDISSECT_OBJ)
400*05b00f60SXin Li	$(RANLIB) $@
401*05b00f60SXin Li
402*05b00f60SXin Lidatalinks.o: $(srcdir)/missing/datalinks.c
403*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/datalinks.c
404*05b00f60SXin Lidlnames.o: $(srcdir)/missing/dlnames.c
405*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/dlnames.c
406*05b00f60SXin Ligetservent.o: $(srcdir)/missing/getservent.c
407*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getservent.c
408*05b00f60SXin Ligetopt_long.o: $(srcdir)/missing/getopt_long.c
409*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getopt_long.c
410*05b00f60SXin Lisnprintf.o: $(srcdir)/missing/snprintf.c
411*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c
412*05b00f60SXin Listrdup.o: $(srcdir)/missing/strdup.c
413*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strdup.c
414*05b00f60SXin Listrlcat.o: $(srcdir)/missing/strlcat.c
415*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcat.c
416*05b00f60SXin Listrlcpy.o: $(srcdir)/missing/strlcpy.c
417*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcpy.c
418*05b00f60SXin Listrsep.o: $(srcdir)/missing/strsep.c
419*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strsep.c
420*05b00f60SXin Lipcap_dump_ftell.o: $(srcdir)/missing/pcap_dump_ftell.c
421*05b00f60SXin Li	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/pcap_dump_ftell.c
422*05b00f60SXin Li
423*05b00f60SXin Liinstall: all
424*05b00f60SXin Li	[ -d $(DESTDIR)$(bindir) ] || \
425*05b00f60SXin Li	    (mkdir -p $(DESTDIR)$(bindir); chmod 755 $(DESTDIR)$(bindir))
426*05b00f60SXin Li	$(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(bindir)/$(PROG)
427*05b00f60SXin Li	$(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(bindir)/$(PROG).`cat ${srcdir}/VERSION`
428*05b00f60SXin Li	[ -d $(DESTDIR)$(mandir)/man1 ] || \
429*05b00f60SXin Li	    (mkdir -p $(DESTDIR)$(mandir)/man1; chmod 755 $(DESTDIR)$(mandir)/man1)
430*05b00f60SXin Li	$(INSTALL_DATA) $(PROG).1 $(DESTDIR)$(mandir)/man1/$(PROG).1
431*05b00f60SXin Li
432*05b00f60SXin Liuninstall:
433*05b00f60SXin Li	rm -f $(DESTDIR)$(bindir)/$(PROG)
434*05b00f60SXin Li	rm -f $(DESTDIR)$(bindir)/$(PROG).`cat ${srcdir}/VERSION`
435*05b00f60SXin Li	rm -f $(DESTDIR)$(mandir)/man1/$(PROG).1
436*05b00f60SXin Li
437*05b00f60SXin Lilint:
438*05b00f60SXin Li	lint -hbxn $(SRC) $(LIBNETDISSECT_SRC) | \
439*05b00f60SXin Li	    grep -v 'struct/union .* never defined' | \
440*05b00f60SXin Li	    grep -v 'possible pointer alignment problem'
441*05b00f60SXin Li
442*05b00f60SXin Liclean:
443*05b00f60SXin Li	rm -f $(CLEANFILES) $(PROG)-`cat ${srcdir}/VERSION`.tar.gz
444*05b00f60SXin Li
445*05b00f60SXin Lidistclean:
446*05b00f60SXin Li	rm -f $(CLEANFILES) Makefile config.cache config.log config.status \
447*05b00f60SXin Li	    config.h os-proto.h stamp-h stamp-h.in $(PROG).1 \
448*05b00f60SXin Li	    libnetdissect.a tests/.failed tests/.passed \
449*05b00f60SXin Li	    tests/failure-outputs.txt
450*05b00f60SXin Li	rm -rf autom4te.cache tests/DIFF tests/NEW
451*05b00f60SXin Li
452*05b00f60SXin Licheck: tcpdump
453*05b00f60SXin Li	$(srcdir)/tests/TESTrun
454*05b00f60SXin Li
455*05b00f60SXin Liextags: $(TAGFILES)
456*05b00f60SXin Li	ctags $(TAGFILES)
457*05b00f60SXin Li
458*05b00f60SXin Litags: $(TAGFILES)
459*05b00f60SXin Li	ctags -wtd $(TAGFILES)
460*05b00f60SXin Li
461*05b00f60SXin LiTAGS: $(TAGFILES)
462*05b00f60SXin Li	etags $(TAGFILES)
463*05b00f60SXin Li
464*05b00f60SXin Lireleasetar:
465*05b00f60SXin Li	@TAG=$(PROG)-`cat VERSION` && \
466*05b00f60SXin Li	if git show-ref --tags --quiet --verify -- "refs/tags/$$TAG"; then \
467*05b00f60SXin Li	    git archive --prefix="$$TAG"/ -o "$$TAG".tar.gz "$$TAG" \
468*05b00f60SXin Li	    $(RELEASE_FILES) && \
469*05b00f60SXin Li	    echo "Archive build from tag $$TAG."; \
470*05b00f60SXin Li	else \
471*05b00f60SXin Li	    git archive --prefix="$$TAG"/ -o "$$TAG".tar.gz HEAD \
472*05b00f60SXin Li	    $(RELEASE_FILES) && \
473*05b00f60SXin Li	    echo "No $$TAG tag. Archive build from HEAD."; \
474*05b00f60SXin Li	fi
475*05b00f60SXin Li
476*05b00f60SXin Lireleasecheck: releasetar
477*05b00f60SXin Li	@TAG=$(PROG)-`cat VERSION` && \
478*05b00f60SXin Li	INSTALL_DIR=/tmp/install_"$$TAG"_$$$$ && \
479*05b00f60SXin Li	DIR=`pwd` && \
480*05b00f60SXin Li	cd /tmp && \
481*05b00f60SXin Li	rm -rf "$$TAG" && \
482*05b00f60SXin Li	rm -rf "$$INSTALL_DIR" && \
483*05b00f60SXin Li	tar xf "$$DIR"/"$$TAG".tar.gz && \
484*05b00f60SXin Li	cd "$$TAG" && \
485*05b00f60SXin Li	echo "[$@] $$ ./configure --enable-smb --quiet --prefix=$$INSTALL_DIR" && \
486*05b00f60SXin Li	./configure --enable-smb --quiet --prefix="$$INSTALL_DIR" && \
487*05b00f60SXin Li	echo '[$@] $$ make -s all check' && \
488*05b00f60SXin Li	make -s all check >/dev/null && \
489*05b00f60SXin Li	echo '[$@] $$ make -s install' && \
490*05b00f60SXin Li	make -s install && \
491*05b00f60SXin Li	cd .. && \
492*05b00f60SXin Li	rm -rf "$$TAG" && \
493*05b00f60SXin Li	rm -rf "$$INSTALL_DIR" && \
494*05b00f60SXin Li	tar xf "$$DIR"/"$$TAG".tar.gz && \
495*05b00f60SXin Li	cd "$$TAG" && \
496*05b00f60SXin Li	mkdir build && \
497*05b00f60SXin Li	cd build && \
498*05b00f60SXin Li	echo '[$@] $$ cmake -DENABLE_SMB=yes [...] ..' && \
499*05b00f60SXin Li	cmake -DENABLE_SMB=yes \
500*05b00f60SXin Li	    -DCMAKE_INSTALL_PREFIX="$$INSTALL_DIR" \
501*05b00f60SXin Li	    -DCMAKE_MESSAGE_LOG_LEVEL=NOTICE \
502*05b00f60SXin Li	    -DCMAKE_RULE_MESSAGES=OFF \
503*05b00f60SXin Li	    -DCMAKE_INSTALL_MESSAGE=NEVER \
504*05b00f60SXin Li	    .. && \
505*05b00f60SXin Li	echo '[$@] $$ make -s all check' && \
506*05b00f60SXin Li	make -s all check >/dev/null && \
507*05b00f60SXin Li	echo '[$@] $$ make -s install' && \
508*05b00f60SXin Li	make -s install && \
509*05b00f60SXin Li	cd ../.. && \
510*05b00f60SXin Li	rm -rf "$$TAG" && \
511*05b00f60SXin Li	rm -rf "$$INSTALL_DIR" && \
512*05b00f60SXin Li	echo '[$@] Done.'
513*05b00f60SXin Li
514*05b00f60SXin Liwhitespacecheck:
515*05b00f60SXin Li	@# trailing space(s)?
516*05b00f60SXin Li	@if git grep -I -n ' $$' $$(git ls-files|grep -v '^tests/'); then \
517*05b00f60SXin Li	    echo 'Error: Trailing space(s).'; \
518*05b00f60SXin Li	    exit 1; \
519*05b00f60SXin Li	fi
520*05b00f60SXin Li	@# trailing tab(s)?
521*05b00f60SXin Li	@# install-sh has a tab at the end of one line
522*05b00f60SXin Li	@if git grep -I -n '	$$' $$(git ls-files|grep -vE '^(tests/|install-sh$$)'); then \
523*05b00f60SXin Li	    echo 'Error: Trailing tabs(s).'; \
524*05b00f60SXin Li	    exit 1; \
525*05b00f60SXin Li	fi
526*05b00f60SXin Li	@# space(s) before tab(s)?
527*05b00f60SXin Li	@if git grep -I -n '[ ][	]' $$(git ls-files|grep -v '^tests/'); then \
528*05b00f60SXin Li	    echo 'Error: space(s) before tab(s).'; \
529*05b00f60SXin Li	    exit 1; \
530*05b00f60SXin Li	fi
531*05b00f60SXin Li
532*05b00f60SXin Litestlist:
533*05b00f60SXin Li	echo $(TEST_DIST)
534*05b00f60SXin Li
535*05b00f60SXin Lidepend:
536*05b00f60SXin Li	$(MKDEP) -c "$(CC)" -m "$(DEPENDENCY_CFLAG)" -s "$(srcdir)" $(DEFS) $(INCLS) $(SRC) $(LIBNETDISSECT_SRC)
537*05b00f60SXin Li
538*05b00f60SXin Lishellcheck:
539*05b00f60SXin Li	shellcheck -f gcc -e SC2006 build.sh build_matrix.sh build_common.sh
540