xref: /freebsd/contrib/tcpdump/Makefile.in (revision ee67461e)
14644f044SBill Fenner#  Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
24edb46e9SPaul Traina#	The Regents of the University of California.  All rights reserved.
34edb46e9SPaul Traina#
44edb46e9SPaul Traina#  Redistribution and use in source and binary forms, with or without
54edb46e9SPaul Traina#  modification, are permitted provided that: (1) source code distributions
64edb46e9SPaul Traina#  retain the above copyright notice and this paragraph in its entirety, (2)
74edb46e9SPaul Traina#  distributions including binary code include the above copyright notice and
84edb46e9SPaul Traina#  this paragraph in its entirety in the documentation or other materials
94edb46e9SPaul Traina#  provided with the distribution, and (3) all advertising materials mentioning
104edb46e9SPaul Traina#  features or use of this software display the following acknowledgement:
114edb46e9SPaul Traina#  ``This product includes software developed by the University of California,
124edb46e9SPaul Traina#  Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
134edb46e9SPaul Traina#  the University nor the names of its contributors may be used to endorse
144edb46e9SPaul Traina#  or promote products derived from this software without specific prior
154edb46e9SPaul Traina#  written permission.
164edb46e9SPaul Traina#  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
174edb46e9SPaul Traina#  WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
184edb46e9SPaul Traina#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
194edb46e9SPaul Traina
204edb46e9SPaul Traina#
214edb46e9SPaul Traina# Various configurable paths (remember to edit Makefile.in, not Makefile)
224edb46e9SPaul Traina#
234edb46e9SPaul Traina
244edb46e9SPaul Traina# Top level hierarchy
254edb46e9SPaul Trainaprefix = @prefix@
264edb46e9SPaul Trainaexec_prefix = @exec_prefix@
27cac3dcd5SXin LIdatarootdir = @datarootdir@
284edb46e9SPaul Traina# Pathname of directory to install the binary
29ee67461eSJoseph Mingronebindir = @bindir@
304edb46e9SPaul Traina# Pathname of directory to install the man page
31685295f4SBill Fennermandir = @mandir@
324edb46e9SPaul Traina
334de76e31SBill Fenner# VPATH
344de76e31SBill Fennersrcdir = @srcdir@
35ee67461eSJoseph Mingronetop_srcdir = @top_srcdir@
364de76e31SBill FennerVPATH = @srcdir@
374de76e31SBill Fenner
384edb46e9SPaul Traina#
394edb46e9SPaul Traina# You shouldn't need to edit anything below here.
404edb46e9SPaul Traina#
414edb46e9SPaul Traina
424edb46e9SPaul TrainaCC = @CC@
433c602fabSXin LIAR = @AR@
443c602fabSXin LIMKDEP = @MKDEP@
454644f044SBill FennerPROG = tcpdump
464edb46e9SPaul TrainaCCOPT = @V_CCOPT@
474edb46e9SPaul TrainaINCLS = -I. @V_INCLS@
481de50e9fSSam LefflerDEFS = @DEFS@ @CPPFLAGS@ @V_DEFS@
494edb46e9SPaul Traina
504edb46e9SPaul Traina# Standard CFLAGS
51cac3dcd5SXin LICFLAGS = @CFLAGS@
52cac3dcd5SXin LIFULL_CFLAGS = $(CCOPT) $(DEFS) $(INCLS) $(CFLAGS)
534edb46e9SPaul Traina
544644f044SBill Fenner# Standard LDFLAGS
554644f044SBill FennerLDFLAGS = @LDFLAGS@
564644f044SBill Fenner
574edb46e9SPaul Traina# Standard LIBS
584edb46e9SPaul TrainaLIBS = @LIBS@
594edb46e9SPaul Traina
604edb46e9SPaul TrainaINSTALL = @INSTALL@
61685295f4SBill FennerINSTALL_PROGRAM = @INSTALL_PROGRAM@
62685295f4SBill FennerINSTALL_DATA = @INSTALL_DATA@
63a5779b6eSRui PauloRANLIB = @RANLIB@
644edb46e9SPaul Traina
653c602fabSXin LIDEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
663c602fabSXin LI
674edb46e9SPaul Traina# Explicitly define compilation rule since SunOS 4's make doesn't like gcc.
684edb46e9SPaul Traina# Also, gcc does not remove the .o before forking 'as', which can be a
694edb46e9SPaul Traina# problem if you don't own the file but can write to the directory.
704edb46e9SPaul Traina.c.o:
714edb46e9SPaul Traina	@rm -f $@
72cac3dcd5SXin LI	$(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.c
734edb46e9SPaul Traina
74ee67461eSJoseph MingroneCSRC =	fptype.c tcpdump.c
75685295f4SBill Fenner
763c602fabSXin LILIBNETDISSECT_SRC=\
773c602fabSXin LI	addrtoname.c \
783340d773SGleb Smirnoff	addrtostr.c \
793c602fabSXin LI	af.c \
803340d773SGleb Smirnoff	ascii_strcasecmp.c \
813c602fabSXin LI	checksum.c \
823c602fabSXin LI	cpack.c \
833c602fabSXin LI	gmpls.c \
843c602fabSXin LI	in_cksum.c \
853c602fabSXin LI	ipproto.c \
863c602fabSXin LI	l2vpn.c \
873c602fabSXin LI	machdep.c \
88ee67461eSJoseph Mingrone	netdissect.c \
89ee67461eSJoseph Mingrone	netdissect-alloc.c \
903c602fabSXin LI	nlpid.c \
91ee67461eSJoseph Mingrone	ntp.c \
923c602fabSXin LI	oui.c \
933c602fabSXin LI	parsenfsfh.c \
943340d773SGleb Smirnoff	print.c \
953c602fabSXin LI	print-802_11.c \
963c602fabSXin LI	print-802_15_4.c \
973c602fabSXin LI	print-ah.c \
983c602fabSXin LI	print-ahcp.c \
993c602fabSXin LI	print-aodv.c \
1003c602fabSXin LI	print-aoe.c \
1013c602fabSXin LI	print-ap1394.c \
1023c602fabSXin LI	print-arcnet.c \
103ee67461eSJoseph Mingrone	print-arista.c \
1043c602fabSXin LI	print-arp.c \
1053c602fabSXin LI	print-ascii.c \
1063c602fabSXin LI	print-atalk.c \
1073c602fabSXin LI	print-atm.c \
1083340d773SGleb Smirnoff	print-babel.c \
109ee67461eSJoseph Mingrone	print-bcm-li.c \
1103c602fabSXin LI	print-beep.c \
1113c602fabSXin LI	print-bfd.c \
1123c602fabSXin LI	print-bgp.c \
1133c602fabSXin LI	print-bootp.c \
114ee67461eSJoseph Mingrone	print-brcmtag.c \
1153c602fabSXin LI	print-bt.c \
1163c602fabSXin LI	print-calm-fast.c \
1173c602fabSXin LI	print-carp.c \
1183c602fabSXin LI	print-cdp.c \
1193c602fabSXin LI	print-cfm.c \
1203c602fabSXin LI	print-chdlc.c \
1213c602fabSXin LI	print-cip.c \
1223c602fabSXin LI	print-cnfp.c \
1233c602fabSXin LI	print-dccp.c \
1243c602fabSXin LI	print-decnet.c \
1253340d773SGleb Smirnoff	print-dhcp6.c \
1263c602fabSXin LI	print-domain.c \
127ee67461eSJoseph Mingrone	print-dsa.c \
1283c602fabSXin LI	print-dtp.c \
1293c602fabSXin LI	print-dvmrp.c \
1303c602fabSXin LI	print-eap.c \
1313c602fabSXin LI	print-egp.c \
1323c602fabSXin LI	print-eigrp.c \
1333c602fabSXin LI	print-enc.c \
1343c602fabSXin LI	print-esp.c \
1353c602fabSXin LI	print-ether.c \
1363c602fabSXin LI	print-fddi.c \
1373c602fabSXin LI	print-forces.c \
1383c602fabSXin LI	print-fr.c \
1393340d773SGleb Smirnoff	print-frag6.c \
1408bdc5a62SPatrick Kelsey	print-ftp.c \
1418bdc5a62SPatrick Kelsey	print-geneve.c \
1423c602fabSXin LI	print-geonet.c \
1433c602fabSXin LI	print-gre.c \
1443340d773SGleb Smirnoff	print-hncp.c \
1453c602fabSXin LI	print-hsrp.c \
1468bdc5a62SPatrick Kelsey	print-http.c \
1473c602fabSXin LI	print-icmp.c \
1483340d773SGleb Smirnoff	print-icmp6.c \
1493c602fabSXin LI	print-igmp.c \
1503c602fabSXin LI	print-igrp.c \
151ee67461eSJoseph Mingrone	print-ip-demux.c \
1523c602fabSXin LI	print-ip.c \
1538bdc5a62SPatrick Kelsey	print-ip6.c \
1543340d773SGleb Smirnoff	print-ip6opts.c \
1553c602fabSXin LI	print-ipcomp.c \
1563c602fabSXin LI	print-ipfc.c \
1573c602fabSXin LI	print-ipnet.c \
158ee67461eSJoseph Mingrone	print-ipoib.c \
1593c602fabSXin LI	print-ipx.c \
1603c602fabSXin LI	print-isakmp.c \
1613c602fabSXin LI	print-isoclns.c \
1623c602fabSXin LI	print-juniper.c \
1633c602fabSXin LI	print-krb.c \
1643c602fabSXin LI	print-l2tp.c \
1653c602fabSXin LI	print-lane.c \
1663c602fabSXin LI	print-ldp.c \
1673340d773SGleb Smirnoff	print-lisp.c \
1683c602fabSXin LI	print-llc.c \
1693c602fabSXin LI	print-lldp.c \
1703c602fabSXin LI	print-lmp.c \
1713c602fabSXin LI	print-loopback.c \
1723c602fabSXin LI	print-lspping.c \
1733c602fabSXin LI	print-lwapp.c \
1743c602fabSXin LI	print-lwres.c \
1753c602fabSXin LI	print-m3ua.c \
176ee67461eSJoseph Mingrone	print-macsec.c \
1773c602fabSXin LI	print-mobile.c \
1783340d773SGleb Smirnoff	print-mobility.c \
1793c602fabSXin LI	print-mpcp.c \
1803c602fabSXin LI	print-mpls.c \
1813c602fabSXin LI	print-mptcp.c \
1823c602fabSXin LI	print-msdp.c \
1833c602fabSXin LI	print-msnlb.c \
1843c602fabSXin LI	print-nflog.c \
1853c602fabSXin LI	print-nfs.c \
1863340d773SGleb Smirnoff	print-nsh.c \
1873c602fabSXin LI	print-ntp.c \
1883c602fabSXin LI	print-null.c \
1893c602fabSXin LI	print-olsr.c \
1903c602fabSXin LI	print-openflow-1.0.c \
191ee67461eSJoseph Mingrone	print-openflow-1.3.c \
1923c602fabSXin LI	print-openflow.c \
1933c602fabSXin LI	print-ospf.c \
1943340d773SGleb Smirnoff	print-ospf6.c \
1953c602fabSXin LI	print-otv.c \
196ee67461eSJoseph Mingrone	print-pflog.c \
1973c602fabSXin LI	print-pgm.c \
1983c602fabSXin LI	print-pim.c \
1993c602fabSXin LI	print-pktap.c \
2003c602fabSXin LI	print-ppi.c \
2013c602fabSXin LI	print-ppp.c \
2023c602fabSXin LI	print-pppoe.c \
2033c602fabSXin LI	print-pptp.c \
204ee67461eSJoseph Mingrone	print-ptp.c \
2053c602fabSXin LI	print-radius.c \
2063c602fabSXin LI	print-raw.c \
207ee67461eSJoseph Mingrone	print-realtek.c \
2083340d773SGleb Smirnoff	print-resp.c \
2093c602fabSXin LI	print-rip.c \
2103340d773SGleb Smirnoff	print-ripng.c \
2113c602fabSXin LI	print-rpki-rtr.c \
2123c602fabSXin LI	print-rsvp.c \
2133340d773SGleb Smirnoff	print-rt6.c \
2148bdc5a62SPatrick Kelsey	print-rtsp.c \
2153c602fabSXin LI	print-rx.c \
2163c602fabSXin LI	print-sctp.c \
2173c602fabSXin LI	print-sflow.c \
2183c602fabSXin LI	print-sip.c \
2193c602fabSXin LI	print-sl.c \
2203c602fabSXin LI	print-sll.c \
2213c602fabSXin LI	print-slow.c \
2228bdc5a62SPatrick Kelsey	print-smtp.c \
2233c602fabSXin LI	print-snmp.c \
224ee67461eSJoseph Mingrone	print-someip.c \
225ee67461eSJoseph Mingrone	print-ssh.c \
2263c602fabSXin LI	print-stp.c \
2273c602fabSXin LI	print-sunatm.c \
2283c602fabSXin LI	print-sunrpc.c \
2293c602fabSXin LI	print-symantec.c \
2303c602fabSXin LI	print-syslog.c \
2313c602fabSXin LI	print-tcp.c \
2323c602fabSXin LI	print-telnet.c \
2333c602fabSXin LI	print-tftp.c \
2343c602fabSXin LI	print-timed.c \
2353c602fabSXin LI	print-tipc.c \
2363c602fabSXin LI	print-token.c \
2373c602fabSXin LI	print-udld.c \
2383c602fabSXin LI	print-udp.c \
239ee67461eSJoseph Mingrone	print-unsupported.c \
2403c602fabSXin LI	print-usb.c \
2413c602fabSXin LI	print-vjc.c \
2423c602fabSXin LI	print-vqp.c \
2433c602fabSXin LI	print-vrrp.c \
244ee67461eSJoseph Mingrone	print-vsock.c \
2453c602fabSXin LI	print-vtp.c \
2463340d773SGleb Smirnoff	print-vxlan-gpe.c \
247ee67461eSJoseph Mingrone	print-vxlan.c \
2483c602fabSXin LI	print-wb.c \
249ee67461eSJoseph Mingrone	print-whois.c \
250ee67461eSJoseph Mingrone	print-zep.c \
2513c602fabSXin LI	print-zephyr.c \
2523c602fabSXin LI	print-zeromq.c \
2533c602fabSXin LI	signature.c \
2543340d773SGleb Smirnoff	strtoaddr.c \
2553340d773SGleb Smirnoff	util-print.c
256a5779b6eSRui Paulo
257b0453382SBill FennerLOCALSRC = @LOCALSRC@
258b0453382SBill FennerLIBOBJS = @LIBOBJS@
2594edb46e9SPaul Traina
2603c602fabSXin LILIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o) ${LOCALSRC:.c=.o} ${LIBOBJS}
2613c602fabSXin LILIBNETDISSECT=libnetdissect.a
2623c602fabSXin LI
2633c602fabSXin LI
264ee67461eSJoseph MingroneSRC =	$(CSRC) $(LOCALSRC)
2654edb46e9SPaul Traina
2664edb46e9SPaul Traina# We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
2674edb46e9SPaul Traina# hack the extra indirection
268ee67461eSJoseph MingroneOBJ =	$(CSRC:.c=.o)
269a5779b6eSRui PauloHDR = \
270a5779b6eSRui Paulo	addrtoname.h \
2713340d773SGleb Smirnoff	addrtostr.h \
272a5779b6eSRui Paulo	af.h \
273a5779b6eSRui Paulo	ah.h \
274a5779b6eSRui Paulo	appletalk.h \
2753340d773SGleb Smirnoff	ascii_strcasecmp.h \
276a5779b6eSRui Paulo	atm.h \
277a5779b6eSRui Paulo	chdlc.h \
278ee67461eSJoseph Mingrone	compiler-tests.h \
279a5779b6eSRui Paulo	cpack.h \
280ee67461eSJoseph Mingrone	diag-control.h \
281a5779b6eSRui Paulo	ethertype.h \
282a5779b6eSRui Paulo	extract.h \
283ee67461eSJoseph Mingrone	fptype.h \
284ee67461eSJoseph Mingrone	ftmacros.h \
2850bff6a5aSEd Maste	funcattrs.h \
286ee67461eSJoseph Mingrone	getservent.h \
287a5779b6eSRui Paulo	gmpls.h \
288a5779b6eSRui Paulo	interface.h \
289a5779b6eSRui Paulo	ip.h \
290a5779b6eSRui Paulo	ip6.h \
291a5779b6eSRui Paulo	ipproto.h \
292a5779b6eSRui Paulo	l2vpn.h \
293a5779b6eSRui Paulo	llc.h \
294a5779b6eSRui Paulo	machdep.h \
295a5779b6eSRui Paulo	mib.h \
296a5779b6eSRui Paulo	mpls.h \
297a5779b6eSRui Paulo	nameser.h \
298a5779b6eSRui Paulo	netdissect.h \
299ee67461eSJoseph Mingrone	netdissect-alloc.h \
300ee67461eSJoseph Mingrone	netdissect-ctype.h \
301ee67461eSJoseph Mingrone	netdissect-stdinc.h \
302a5779b6eSRui Paulo	nfs.h \
303a5779b6eSRui Paulo	nfsfh.h \
304a5779b6eSRui Paulo	nlpid.h \
305ee67461eSJoseph Mingrone	ntp.h \
3063c602fabSXin LI	openflow.h \
307a5779b6eSRui Paulo	ospf.h \
308a5779b6eSRui Paulo	oui.h \
309a5779b6eSRui Paulo	pcap-missing.h \
310ee67461eSJoseph Mingrone	pflog.h \
311a5779b6eSRui Paulo	ppp.h \
3123340d773SGleb Smirnoff	print.h \
313a5779b6eSRui Paulo	rpc_auth.h \
314a5779b6eSRui Paulo	rpc_msg.h \
31527df3f5dSRui Paulo	signature.h \
316a5779b6eSRui Paulo	slcompress.h \
317a5779b6eSRui Paulo	smb.h \
318ee67461eSJoseph Mingrone	status-exit-codes.h \
3193340d773SGleb Smirnoff	strtoaddr.h \
320a5779b6eSRui Paulo	tcp.h \
3213340d773SGleb Smirnoff	timeval-operations.h \
322ee67461eSJoseph Mingrone	udp.h \
323ee67461eSJoseph Mingrone	varattrs.h
3244edb46e9SPaul Traina
3254edb46e9SPaul TrainaTAGHDR = \
3264edb46e9SPaul Traina	/usr/include/netinet/if_ether.h \
327ee67461eSJoseph Mingrone	/usr/include/netinet/in.h
3284edb46e9SPaul Traina
329ee67461eSJoseph MingroneTAGFILES = $(SRC) $(HDR) $(TAGHDR) $(LIBNETDISSECT_SRC) \
330ee67461eSJoseph Mingrone	print-smb.c smbutil.c
3314edb46e9SPaul Traina
332ee67461eSJoseph MingroneCLEANFILES = $(PROG) $(OBJ) $(LIBNETDISSECT_OBJ) print-smb.o smbutil.o
3334edb46e9SPaul Traina
334a5779b6eSRui PauloEXTRA_DIST = \
335a5779b6eSRui Paulo	CHANGES \
336ee67461eSJoseph Mingrone	CMakeLists.txt \
337ee67461eSJoseph Mingrone	CONTRIBUTING.md \
338a5779b6eSRui Paulo	CREDITS \
339ee67461eSJoseph Mingrone	INSTALL.md \
340a5779b6eSRui Paulo	LICENSE \
34127df3f5dSRui Paulo	Makefile-devel-adds \
342ee67461eSJoseph Mingrone	Makefile.in \
3433c602fabSXin LI	README.md \
344a5779b6eSRui Paulo	VERSION \
345a5779b6eSRui Paulo	aclocal.m4 \
346a5779b6eSRui Paulo	atime.awk \
347a5779b6eSRui Paulo	bpf_dump.c \
348ee67461eSJoseph Mingrone	cmake/Modules/FindCRYPTO.cmake \
349ee67461eSJoseph Mingrone	cmake/Modules/FindPCAP.cmake \
350ee67461eSJoseph Mingrone	cmake/Modules/FindSMI.cmake \
351ee67461eSJoseph Mingrone	cmake_uninstall.cmake.in \
352ee67461eSJoseph Mingrone	cmakeconfig.h.in \
353a5779b6eSRui Paulo	config.guess \
354a5779b6eSRui Paulo	config.h.in \
355a5779b6eSRui Paulo	config.sub \
356a5779b6eSRui Paulo	configure \
35739e421e8SCy Schubert	configure.ac \
358ee67461eSJoseph Mingrone	doc/README.aix.md \
359ee67461eSJoseph Mingrone	doc/README.NetBSD.md \
360ee67461eSJoseph Mingrone	doc/README.solaris.md \
361ee67461eSJoseph Mingrone	doc/README.Win32.md \
362a5779b6eSRui Paulo	install-sh \
363a5779b6eSRui Paulo	lbl/os-osf4.h \
364a5779b6eSRui Paulo	lbl/os-solaris2.h \
365a5779b6eSRui Paulo	lbl/os-sunos4.h \
366a5779b6eSRui Paulo	lbl/os-ultrix4.h \
367a5779b6eSRui Paulo	makemib \
368a5779b6eSRui Paulo	missing/datalinks.c \
369ee67461eSJoseph Mingrone	missing/dlnames.c \
3703c602fabSXin LI	missing/getopt_long.c \
371ee67461eSJoseph Mingrone	missing/getopt_long.h \
372ee67461eSJoseph Mingrone	missing/getservent.c \
373ee67461eSJoseph Mingrone	missing/pcap_dump_ftell.c \
374a5779b6eSRui Paulo	missing/snprintf.c \
375a5779b6eSRui Paulo	missing/strdup.c \
376a5779b6eSRui Paulo	missing/strlcat.c \
377a5779b6eSRui Paulo	missing/strlcpy.c \
378a5779b6eSRui Paulo	missing/strsep.c \
379a5779b6eSRui Paulo	mkdep \
380a5779b6eSRui Paulo	packetdat.awk \
381a5779b6eSRui Paulo	print-smb.c \
382a5779b6eSRui Paulo	send-ack.awk \
383a5779b6eSRui Paulo	smbutil.c \
384a5779b6eSRui Paulo	stime.awk \
385ee67461eSJoseph Mingrone	tcpdump.1.in
386a5779b6eSRui Paulo
38739e421e8SCy SchubertTEST_DIST= `git ls-files tests | grep -v 'tests/\..*'`
388d03c0883SXin LI
389ee67461eSJoseph MingroneRELEASE_FILES = $(CSRC) $(HDR) $(LIBNETDISSECT_SRC) $(EXTRA_DIST) $(TEST_DIST)
3904644f044SBill Fenner
391ee67461eSJoseph Mingroneall: $(PROG)
392ee67461eSJoseph Mingrone
393ee67461eSJoseph Mingrone$(PROG): $(OBJ) @V_PCAPDEP@ $(LIBNETDISSECT)
3944edb46e9SPaul Traina	@rm -f $@
395ee67461eSJoseph Mingrone	$(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBNETDISSECT) $(LIBS)
3964edb46e9SPaul Traina
397a5779b6eSRui Paulo$(LIBNETDISSECT): $(LIBNETDISSECT_OBJ)
398a5779b6eSRui Paulo	@rm -f $@
3993340d773SGleb Smirnoff	$(AR) cr $@ $(LIBNETDISSECT_OBJ)
400a5779b6eSRui Paulo	$(RANLIB) $@
401a5779b6eSRui Paulo
4025b0fe478SBruce M Simpsondatalinks.o: $(srcdir)/missing/datalinks.c
403cac3dcd5SXin LI	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/datalinks.c
4045b0fe478SBruce M Simpsondlnames.o: $(srcdir)/missing/dlnames.c
405cac3dcd5SXin LI	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/dlnames.c
406ee67461eSJoseph Mingronegetservent.o: $(srcdir)/missing/getservent.c
407ee67461eSJoseph Mingrone	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getservent.c
4083c602fabSXin LIgetopt_long.o: $(srcdir)/missing/getopt_long.c
4093c602fabSXin LI	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getopt_long.c
410685295f4SBill Fennersnprintf.o: $(srcdir)/missing/snprintf.c
411cac3dcd5SXin LI	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c
4123c602fabSXin LIstrdup.o: $(srcdir)/missing/strdup.c
4133c602fabSXin LI	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strdup.c
414685295f4SBill Fennerstrlcat.o: $(srcdir)/missing/strlcat.c
415cac3dcd5SXin LI	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcat.c
416685295f4SBill Fennerstrlcpy.o: $(srcdir)/missing/strlcpy.c
417cac3dcd5SXin LI	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcpy.c
4185b0fe478SBruce M Simpsonstrsep.o: $(srcdir)/missing/strsep.c
419cac3dcd5SXin LI	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strsep.c
420ee67461eSJoseph Mingronepcap_dump_ftell.o: $(srcdir)/missing/pcap_dump_ftell.c
421ee67461eSJoseph Mingrone	$(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/pcap_dump_ftell.c
422a5779b6eSRui Paulo
423a5779b6eSRui Pauloinstall: all
424ee67461eSJoseph Mingrone	[ -d $(DESTDIR)$(bindir) ] || \
425ee67461eSJoseph Mingrone	    (mkdir -p $(DESTDIR)$(bindir); chmod 755 $(DESTDIR)$(bindir))
426ee67461eSJoseph Mingrone	$(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(bindir)/$(PROG)
427ee67461eSJoseph Mingrone	$(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(bindir)/$(PROG).`cat ${srcdir}/VERSION`
428685295f4SBill Fenner	[ -d $(DESTDIR)$(mandir)/man1 ] || \
429685295f4SBill Fenner	    (mkdir -p $(DESTDIR)$(mandir)/man1; chmod 755 $(DESTDIR)$(mandir)/man1)
43027df3f5dSRui Paulo	$(INSTALL_DATA) $(PROG).1 $(DESTDIR)$(mandir)/man1/$(PROG).1
4314edb46e9SPaul Traina
432685295f4SBill Fenneruninstall:
433ee67461eSJoseph Mingrone	rm -f $(DESTDIR)$(bindir)/$(PROG)
434ee67461eSJoseph Mingrone	rm -f $(DESTDIR)$(bindir)/$(PROG).`cat ${srcdir}/VERSION`
435685295f4SBill Fenner	rm -f $(DESTDIR)$(mandir)/man1/$(PROG).1
4364edb46e9SPaul Traina
437ee67461eSJoseph Mingronelint:
438ee67461eSJoseph Mingrone	lint -hbxn $(SRC) $(LIBNETDISSECT_SRC) | \
4394edb46e9SPaul Traina	    grep -v 'struct/union .* never defined' | \
4404edb46e9SPaul Traina	    grep -v 'possible pointer alignment problem'
4414edb46e9SPaul Traina
4424edb46e9SPaul Trainaclean:
443ee67461eSJoseph Mingrone	rm -f $(CLEANFILES) $(PROG)-`cat ${srcdir}/VERSION`.tar.gz
4444edb46e9SPaul Traina
4454edb46e9SPaul Trainadistclean:
4464edb46e9SPaul Traina	rm -f $(CLEANFILES) Makefile config.cache config.log config.status \
447ee67461eSJoseph Mingrone	    config.h os-proto.h stamp-h stamp-h.in $(PROG).1 \
4483c602fabSXin LI	    libnetdissect.a tests/.failed tests/.passed \
4493c602fabSXin LI	    tests/failure-outputs.txt
4503c602fabSXin LI	rm -rf autom4te.cache tests/DIFF tests/NEW
45127df3f5dSRui Paulo
45227df3f5dSRui Paulocheck: tcpdump
453ee67461eSJoseph Mingrone	$(srcdir)/tests/TESTrun
4544edb46e9SPaul Traina
4553340d773SGleb Smirnoffextags: $(TAGFILES)
4563340d773SGleb Smirnoff	ctags $(TAGFILES)
4573340d773SGleb Smirnoff
4584edb46e9SPaul Trainatags: $(TAGFILES)
4594edb46e9SPaul Traina	ctags -wtd $(TAGFILES)
4604edb46e9SPaul Traina
461a5779b6eSRui PauloTAGS: $(TAGFILES)
462a5779b6eSRui Paulo	etags $(TAGFILES)
463a5779b6eSRui Paulo
464b5bfcb5dSMax Laierreleasetar:
465ee67461eSJoseph Mingrone	@TAG=$(PROG)-`cat VERSION` && \
466ee67461eSJoseph Mingrone	if git show-ref --tags --quiet --verify -- "refs/tags/$$TAG"; then \
467ee67461eSJoseph Mingrone	    git archive --prefix="$$TAG"/ -o "$$TAG".tar.gz "$$TAG" \
468ee67461eSJoseph Mingrone	    $(RELEASE_FILES) && \
469ee67461eSJoseph Mingrone	    echo "Archive build from tag $$TAG."; \
470ee67461eSJoseph Mingrone	else \
471ee67461eSJoseph Mingrone	    git archive --prefix="$$TAG"/ -o "$$TAG".tar.gz HEAD \
472ee67461eSJoseph Mingrone	    $(RELEASE_FILES) && \
473ee67461eSJoseph Mingrone	    echo "No $$TAG tag. Archive build from HEAD."; \
474ee67461eSJoseph Mingrone	fi
475ee67461eSJoseph Mingrone
476ee67461eSJoseph Mingronereleasecheck: releasetar
477ee67461eSJoseph Mingrone	@TAG=$(PROG)-`cat VERSION` && \
478ee67461eSJoseph Mingrone	INSTALL_DIR=/tmp/install_"$$TAG"_$$$$ && \
479ee67461eSJoseph Mingrone	DIR=`pwd` && \
480ee67461eSJoseph Mingrone	cd /tmp && \
481ee67461eSJoseph Mingrone	rm -rf "$$TAG" && \
482ee67461eSJoseph Mingrone	rm -rf "$$INSTALL_DIR" && \
483ee67461eSJoseph Mingrone	tar xf "$$DIR"/"$$TAG".tar.gz && \
484ee67461eSJoseph Mingrone	cd "$$TAG" && \
485ee67461eSJoseph Mingrone	echo "[$@] $$ ./configure --enable-smb --quiet --prefix=$$INSTALL_DIR" && \
486ee67461eSJoseph Mingrone	./configure --enable-smb --quiet --prefix="$$INSTALL_DIR" && \
487ee67461eSJoseph Mingrone	echo '[$@] $$ make -s all check' && \
488ee67461eSJoseph Mingrone	make -s all check >/dev/null && \
489ee67461eSJoseph Mingrone	echo '[$@] $$ make -s install' && \
490ee67461eSJoseph Mingrone	make -s install && \
491ee67461eSJoseph Mingrone	cd .. && \
492ee67461eSJoseph Mingrone	rm -rf "$$TAG" && \
493ee67461eSJoseph Mingrone	rm -rf "$$INSTALL_DIR" && \
494ee67461eSJoseph Mingrone	tar xf "$$DIR"/"$$TAG".tar.gz && \
495ee67461eSJoseph Mingrone	cd "$$TAG" && \
496ee67461eSJoseph Mingrone	mkdir build && \
497ee67461eSJoseph Mingrone	cd build && \
498ee67461eSJoseph Mingrone	echo '[$@] $$ cmake -DENABLE_SMB=yes [...] ..' && \
499ee67461eSJoseph Mingrone	cmake -DENABLE_SMB=yes \
500ee67461eSJoseph Mingrone	    -DCMAKE_INSTALL_PREFIX="$$INSTALL_DIR" \
501ee67461eSJoseph Mingrone	    -DCMAKE_MESSAGE_LOG_LEVEL=NOTICE \
502ee67461eSJoseph Mingrone	    -DCMAKE_RULE_MESSAGES=OFF \
503ee67461eSJoseph Mingrone	    -DCMAKE_INSTALL_MESSAGE=NEVER \
504ee67461eSJoseph Mingrone	    .. && \
505ee67461eSJoseph Mingrone	echo '[$@] $$ make -s all check' && \
506ee67461eSJoseph Mingrone	make -s all check >/dev/null && \
507ee67461eSJoseph Mingrone	echo '[$@] $$ make -s install' && \
508ee67461eSJoseph Mingrone	make -s install && \
509ee67461eSJoseph Mingrone	cd ../.. && \
510ee67461eSJoseph Mingrone	rm -rf "$$TAG" && \
511ee67461eSJoseph Mingrone	rm -rf "$$INSTALL_DIR" && \
512ee67461eSJoseph Mingrone	echo '[$@] Done.'
513ee67461eSJoseph Mingrone
514ee67461eSJoseph Mingronewhitespacecheck:
515ee67461eSJoseph Mingrone	@# trailing space(s)?
516ee67461eSJoseph Mingrone	@if git grep -I -n ' $$' $$(git ls-files|grep -v '^tests/'); then \
517ee67461eSJoseph Mingrone	    echo 'Error: Trailing space(s).'; \
518ee67461eSJoseph Mingrone	    exit 1; \
519ee67461eSJoseph Mingrone	fi
520ee67461eSJoseph Mingrone	@# trailing tab(s)?
521ee67461eSJoseph Mingrone	@# install-sh has a tab at the end of one line
522ee67461eSJoseph Mingrone	@if git grep -I -n '	$$' $$(git ls-files|grep -vE '^(tests/|install-sh$$)'); then \
523ee67461eSJoseph Mingrone	    echo 'Error: Trailing tabs(s).'; \
524ee67461eSJoseph Mingrone	    exit 1; \
525ee67461eSJoseph Mingrone	fi
526ee67461eSJoseph Mingrone	@# space(s) before tab(s)?
527ee67461eSJoseph Mingrone	@if git grep -I -n '[ ][	]' $$(git ls-files|grep -v '^tests/'); then \
528ee67461eSJoseph Mingrone	    echo 'Error: space(s) before tab(s).'; \
529ee67461eSJoseph Mingrone	    exit 1; \
530ee67461eSJoseph Mingrone	fi
5314edb46e9SPaul Traina
532d03c0883SXin LItestlist:
533d03c0883SXin LI	echo $(TEST_DIST)
534d03c0883SXin LI
535ee67461eSJoseph Mingronedepend:
536ee67461eSJoseph Mingrone	$(MKDEP) -c "$(CC)" -m "$(DEPENDENCY_CFLAG)" -s "$(srcdir)" $(DEFS) $(INCLS) $(SRC) $(LIBNETDISSECT_SRC)
537ee67461eSJoseph Mingrone
538ee67461eSJoseph Mingroneshellcheck:
539ee67461eSJoseph Mingrone	shellcheck -f gcc -e SC2006 build.sh build_matrix.sh build_common.sh
540