X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/3dd9240cc311f3c617d68764a6e6a1a21a77c6a6..refs/pull/1036/head:/Makefile.in diff --git a/Makefile.in b/Makefile.in index 7e4f7b11..9d03c21b 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,5 +1,5 @@ # Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 -# The Regents of the University of California. All rights reserved. +# The Regents of the University of California. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that: (1) source code distributions @@ -26,12 +26,13 @@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ # Pathname of directory to install the binary -sbindir = @sbindir@ +bindir = @bindir@ # Pathname of directory to install the man page mandir = @mandir@ # VPATH srcdir = @srcdir@ +top_srcdir = @top_srcdir@ VPATH = @srcdir@ # @@ -70,21 +71,24 @@ DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@ @rm -f $@ $(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.c -CSRC = setsignal.c tcpdump.c util.c +CSRC = fptype.c tcpdump.c LIBNETDISSECT_SRC=\ addrtoname.c \ + addrtostr.c \ af.c \ ascii_strcasecmp.c \ checksum.c \ cpack.c \ gmpls.c \ - gmt2local.c \ in_cksum.c \ ipproto.c \ l2vpn.c \ machdep.c \ + netdissect.c \ + netdissect-alloc.c \ nlpid.c \ + ntp.c \ oui.c \ parsenfsfh.c \ print.c \ @@ -96,14 +100,18 @@ LIBNETDISSECT_SRC=\ print-aoe.c \ print-ap1394.c \ print-arcnet.c \ + print-arista.c \ print-arp.c \ print-ascii.c \ print-atalk.c \ print-atm.c \ + print-babel.c \ + print-bcm-li.c \ print-beep.c \ print-bfd.c \ print-bgp.c \ print-bootp.c \ + print-brcmtag.c \ print-bt.c \ print-calm-fast.c \ print-carp.c \ @@ -114,7 +122,9 @@ LIBNETDISSECT_SRC=\ print-cnfp.c \ print-dccp.c \ print-decnet.c \ + print-dhcp6.c \ print-domain.c \ + print-dsa.c \ print-dtp.c \ print-dvmrp.c \ print-eap.c \ @@ -126,20 +136,26 @@ LIBNETDISSECT_SRC=\ print-fddi.c \ print-forces.c \ print-fr.c \ + print-frag6.c \ print-ftp.c \ print-geneve.c \ print-geonet.c \ print-gre.c \ + print-hncp.c \ print-hsrp.c \ print-http.c \ print-icmp.c \ + print-icmp6.c \ print-igmp.c \ print-igrp.c \ + print-ip-demux.c \ print-ip.c \ print-ip6.c \ + print-ip6opts.c \ print-ipcomp.c \ print-ipfc.c \ print-ipnet.c \ + print-ipoib.c \ print-ipx.c \ print-isakmp.c \ print-isoclns.c \ @@ -148,6 +164,7 @@ LIBNETDISSECT_SRC=\ print-l2tp.c \ print-lane.c \ print-ldp.c \ + print-lisp.c \ print-llc.c \ print-lldp.c \ print-lmp.c \ @@ -156,8 +173,9 @@ LIBNETDISSECT_SRC=\ print-lwapp.c \ print-lwres.c \ print-m3ua.c \ - print-medsa.c \ + print-macsec.c \ print-mobile.c \ + print-mobility.c \ print-mpcp.c \ print-mpls.c \ print-mptcp.c \ @@ -165,13 +183,17 @@ LIBNETDISSECT_SRC=\ print-msnlb.c \ print-nflog.c \ print-nfs.c \ + print-nsh.c \ print-ntp.c \ print-null.c \ print-olsr.c \ print-openflow-1.0.c \ + print-openflow-1.3.c \ print-openflow.c \ print-ospf.c \ + print-ospf6.c \ print-otv.c \ + print-pflog.c \ print-pgm.c \ print-pim.c \ print-pktap.c \ @@ -179,12 +201,17 @@ LIBNETDISSECT_SRC=\ print-ppp.c \ print-pppoe.c \ print-pptp.c \ + print-ptp.c \ + print-quic.c \ print-radius.c \ print-raw.c \ + print-realtek.c \ + print-resp.c \ print-rip.c \ + print-ripng.c \ print-rpki-rtr.c \ - print-rrcp.c \ print-rsvp.c \ + print-rt6.c \ print-rtsp.c \ print-rx.c \ print-sctp.c \ @@ -195,6 +222,8 @@ LIBNETDISSECT_SRC=\ print-slow.c \ print-smtp.c \ print-snmp.c \ + print-someip.c \ + print-ssh.c \ print-stp.c \ print-sunatm.c \ print-sunrpc.c \ @@ -208,46 +237,53 @@ LIBNETDISSECT_SRC=\ print-token.c \ print-udld.c \ print-udp.c \ + print-unsupported.c \ print-usb.c \ print-vjc.c \ print-vqp.c \ print-vrrp.c \ + print-vsock.c \ print-vtp.c \ + print-vxlan-gpe.c \ print-vxlan.c \ print-wb.c \ + print-whois.c \ + print-zep.c \ print-zephyr.c \ print-zeromq.c \ signature.c \ + strtoaddr.c \ util-print.c LOCALSRC = @LOCALSRC@ -GENSRC = version.c LIBOBJS = @LIBOBJS@ LIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o) ${LOCALSRC:.c=.o} ${LIBOBJS} LIBNETDISSECT=libnetdissect.a -SRC = $(CSRC) $(GENSRC) $(LOCALSRC) $(LIBNETDISSECT_SRC) +SRC = $(CSRC) $(LOCALSRC) -# We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot -# hack the extra indirection -OBJ = $(CSRC:.c=.o) $(GENSRC:.c=.o) $(LIBNETDISSECT_OBJ) +OBJ = $(CSRC:.c=.o) HDR = \ addrtoname.h \ + addrtostr.h \ af.h \ ah.h \ appletalk.h \ ascii_strcasecmp.h \ atm.h \ chdlc.h \ + compiler-tests.h \ cpack.h \ - ether.h \ + diag-control.h \ ethertype.h \ extract.h \ - getopt_long.h \ + fptype.h \ + ftmacros.h \ + funcattrs.h \ + getservent.h \ gmpls.h \ - gmt2local.h \ interface.h \ ip.h \ ip6.h \ @@ -259,109 +295,110 @@ HDR = \ mpls.h \ nameser.h \ netdissect.h \ + netdissect-alloc.h \ + netdissect-ctype.h \ + netdissect-stdinc.h \ nfs.h \ nfsfh.h \ nlpid.h \ + ntp.h \ openflow.h \ ospf.h \ oui.h \ pcap-missing.h \ + pflog.h \ ppp.h \ print.h \ rpc_auth.h \ rpc_msg.h \ - rpl.h \ - setsignal.h \ signature.h \ slcompress.h \ smb.h \ + status-exit-codes.h \ + strtoaddr.h \ tcp.h \ - tcpdump-stdinc.h \ - udp.h + timeval-operations.h \ + udp.h \ + varattrs.h TAGHDR = \ - /usr/include/arpa/tftp.h \ - /usr/include/net/if_arp.h \ - /usr/include/net/slip.h \ /usr/include/netinet/if_ether.h \ - /usr/include/netinet/in.h \ - /usr/include/netinet/ip_icmp.h \ - /usr/include/netinet/tcp.h \ - /usr/include/netinet/udp.h \ - /usr/include/protocols/routed.h + /usr/include/netinet/in.h -TAGFILES = $(SRC) $(HDR) $(TAGHDR) +TAGFILES = $(SRC) $(HDR) $(TAGHDR) $(LIBNETDISSECT_SRC) \ + print-smb.c smbutil.c -CLEANFILES = $(PROG) $(OBJ) $(GENSRC) +CLEANFILES = $(PROG) $(OBJ) $(LIBNETDISSECT_OBJ) EXTRA_DIST = \ CHANGES \ + CMakeLists.txt \ + CONTRIBUTING.md \ CREDITS \ - INSTALL.txt \ + INSTALL.md \ LICENSE \ - Makefile.in \ Makefile-devel-adds \ + Makefile.in \ README.md \ - Readme.Win32 \ VERSION \ aclocal.m4 \ + autogen.sh \ atime.awk \ bpf_dump.c \ + cmake/Modules/FindCRYPTO.cmake \ + cmake/Modules/FindPCAP.cmake \ + cmake/Modules/FindSMI.cmake \ + cmake_uninstall.cmake.in \ + cmakeconfig.h.in \ config.guess \ - config.h.in \ config.sub \ - configure \ - configure.in \ + configure.ac \ + doc/README.aix.md \ + doc/README.haiku.md \ + doc/README.NetBSD.md \ + doc/README.solaris.md \ + doc/README.Win32.md \ install-sh \ - lbl/os-osf4.h \ - lbl/os-solaris2.h \ - lbl/os-sunos4.h \ - lbl/os-ultrix4.h \ + instrument-functions.c \ makemib \ - missing/addrinfo.h \ - missing/dlnames.c \ missing/datalinks.c \ - missing/getnameinfo.c \ + missing/dlnames.c \ missing/getopt_long.c \ - missing/inet_aton.c \ - missing/inet_ntop.c \ - missing/inet_pton.c \ - missing/snprintf.c \ - missing/strdup.c \ + missing/getopt_long.h \ + missing/getservent.c \ + missing/pcap_dump_ftell.c \ missing/strlcat.c \ missing/strlcpy.c \ missing/strsep.c \ mkdep \ packetdat.awk \ - pcap_dump_ftell.c \ - print-babel.c \ - print-dhcp6.c \ - print-frag6.c \ - print-icmp6.c \ - print-ip6opts.c \ - print-mobility.c \ - print-ospf6.c \ - print-pflog.c \ - print-ripng.c \ - print-rt6.c \ print-smb.c \ send-ack.awk \ smbutil.c \ stime.awk \ - tcpdump.1.in \ - vfprintf.c \ - win32/Include/w32_fzs.h \ - win32/prj/GNUmakefile \ - win32/prj/WinDump.dsp \ - win32/prj/WinDump.dsw + tcpdump.1.in + +TEST_DIST= `git -C "$$DIR" ls-files tests | grep -v 'tests/\..*'` -TEST_DIST= `find tests \( -name 'DIFF' -prune \) -o \( -name NEW -prune \) -o -type f \! -name '.*' \! -name '*~' -print` +RELEASE_FILES = $(CSRC) $(HDR) $(LIBNETDISSECT_SRC) $(EXTRA_DIST) $(TEST_DIST) -all: $(PROG) $(LIBNETDISSECT) +all: $(PROG) -$(PROG): $(OBJ) @V_PCAPDEP@ +$(PROG): $(OBJ) @V_PCAPDEP@ $(LIBNETDISSECT) @rm -f $@ - $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) + $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBNETDISSECT) $(LIBS) + +instrument_all: $(PROG) + @rm -f instrument_functions_global.devel + @rm -f instrument_functions_off.devel + +instrument_global: $(PROG) + @touch instrument_functions_global.devel + @rm -f instrument_functions_off.devel + +instrument_off: $(PROG) + @touch instrument_functions_off.devel + @rm -f instrument_functions_global.devel $(LIBNETDISSECT): $(LIBNETDISSECT_OBJ) @rm -f $@ @@ -372,70 +409,54 @@ datalinks.o: $(srcdir)/missing/datalinks.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/datalinks.c dlnames.o: $(srcdir)/missing/dlnames.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/dlnames.c -getnameinfo.o: $(srcdir)/missing/getnameinfo.c - $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getnameinfo.c +getservent.o: $(srcdir)/missing/getservent.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getservent.c getopt_long.o: $(srcdir)/missing/getopt_long.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/getopt_long.c -inet_pton.o: $(srcdir)/missing/inet_pton.c - $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_pton.c -inet_ntop.o: $(srcdir)/missing/inet_ntop.c - $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_ntop.c -inet_aton.o: $(srcdir)/missing/inet_aton.c - $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/inet_aton.c -snprintf.o: $(srcdir)/missing/snprintf.c - $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c -strdup.o: $(srcdir)/missing/strdup.c - $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strdup.c strlcat.o: $(srcdir)/missing/strlcat.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcat.c strlcpy.o: $(srcdir)/missing/strlcpy.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strlcpy.c strsep.o: $(srcdir)/missing/strsep.c $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/strsep.c - -version.o: version.c - $(CC) $(FULL_CFLAGS) -c version.c - -version.c: $(srcdir)/VERSION - @rm -f $@ - if grep GIT ${srcdir}/VERSION >/dev/null; then \ - read ver <${srcdir}/VERSION; \ - echo $$ver | tr -d '\012'; \ - date +_%Y_%m_%d; \ - else \ - cat ${srcdir}/VERSION; \ - fi | sed -e 's/.*/const char version[] = "&";/' > $@ +pcap_dump_ftell.o: $(srcdir)/missing/pcap_dump_ftell.c + $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/pcap_dump_ftell.c install: all - [ -d $(DESTDIR)$(sbindir) ] || \ - (mkdir -p $(DESTDIR)$(sbindir); chmod 755 $(DESTDIR)$(sbindir)) - $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG) - $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG).`cat ${srcdir}/VERSION` + [ -d $(DESTDIR)$(bindir) ] || \ + (mkdir -p $(DESTDIR)$(bindir); chmod 755 $(DESTDIR)$(bindir)) + $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(bindir)/$(PROG) + $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(bindir)/$(PROG).`cat ${srcdir}/VERSION` [ -d $(DESTDIR)$(mandir)/man1 ] || \ (mkdir -p $(DESTDIR)$(mandir)/man1; chmod 755 $(DESTDIR)$(mandir)/man1) $(INSTALL_DATA) $(PROG).1 $(DESTDIR)$(mandir)/man1/$(PROG).1 uninstall: - rm -f $(DESTDIR)$(sbindir)/$(PROG) + rm -f $(DESTDIR)$(bindir)/$(PROG) + rm -f $(DESTDIR)$(bindir)/$(PROG).`cat ${srcdir}/VERSION` rm -f $(DESTDIR)$(mandir)/man1/$(PROG).1 -lint: $(GENSRC) - lint -hbxn $(SRC) | \ +lint: + lint -hbxn $(SRC) $(LIBNETDISSECT_SRC) | \ grep -v 'struct/union .* never defined' | \ grep -v 'possible pointer alignment problem' clean: - rm -f $(CLEANFILES) $(PROG)-`cat VERSION`.tar.gz + rm -f $(CLEANFILES) $(PROG)-`cat ${srcdir}/VERSION`.tar.gz \ + config.h.in~ configure~ configure.ac~ -distclean: - rm -f $(CLEANFILES) Makefile config.cache config.log config.status \ - config.h gnuc.h os-proto.h stamp-h stamp-h.in $(PROG).1 \ +distclean: clean + rm -f Makefile config.cache config.log config.status \ + config.h os-proto.h stamp-h stamp-h.in $(PROG).1 \ libnetdissect.a tests/.failed tests/.passed \ tests/failure-outputs.txt rm -rf autom4te.cache tests/DIFF tests/NEW check: tcpdump - (cd tests && ./TESTrun.sh) + $(srcdir)/tests/TESTrun + +extags: $(TAGFILES) + ctags $(TAGFILES) tags: $(TAGFILES) ctags -wtd $(TAGFILES) @@ -443,15 +464,114 @@ tags: $(TAGFILES) TAGS: $(TAGFILES) etags $(TAGFILES) +# +# Use git archive piped to tar to construct a subdirectory whose name +# is tcpdump-{release}, containing all the checked-in source files, +# and then run autoreconf in that directory to generate the configure +# script and other files from that source. Then remove autom4te.cache, +# construct the release tarball from that subdirectory, and remove +# the subdirectory. +# +# The --format=tar is to force git archive to write a non-compressed +# archive, in case the platform's tar command doesn't have built-in +# decompression. +# +# The ^{tree} is there to force git archive not to write out the +# "helpful" global extended pax header with a commit ID, as not all +# versions of tar can handle that (Solaris tar can't, for example). +# (It turns HEAD, or a tag, both of which are apparently "tree-ish"es, +# into a tree; apparently, unlike HEAD, or a tag, which have a commit +# ID associated with them, the tree associated with them doesn't have +# a commit ID, so no commit ID is available to write, and thus +# git archive doesn't write one.) +# releasetar: - @cwd=`pwd` ; dir=`basename $$cwd` ; name=$(PROG)-`cat VERSION` ; \ - mkdir $$name; \ - tar cf - $(CSRC) $(HDR) $(LIBNETDISSECT_SRC) $(EXTRA_DIST) $(TEST_DIST) | (cd $$name; tar xf -); \ - tar -c -z -f $$name.tar.gz $$name; \ - rm -rf $$name + @TAG=$(PROG)-`cat VERSION` && \ + if [ ! -d .git ]; then echo 'Not in a git clone, stop.'; exit 1; fi && \ + TMPTESTFILE=`mktemp -t tmptestfile_XXXXXXXX` && \ + rm -f "$$TMPTESTFILE" && \ + AUTORECONF_DIR=`dirname "$$TMPTESTFILE"`/"$(PROG)"_build_autoreconf_$$$$ && \ + DIR=`pwd` && \ + rm -rf "$$AUTORECONF_DIR" && \ + mkdir "$$AUTORECONF_DIR" && \ + cd "$$AUTORECONF_DIR" && \ + if git -C "$$DIR" show-ref --tags --quiet --verify -- "refs/tags/$$TAG"; then \ + (git -C "$$DIR" archive --format=tar --prefix="$$TAG"/ "$$TAG^{tree}" $(RELEASE_FILES) | \ + tar xf -) && \ + echo "Archive build from tag $$TAG."; \ + else \ + (git -C "$$DIR" archive --format=tar --prefix="$$TAG"/ "HEAD^{tree}" $(RELEASE_FILES) | \ + tar xf -) && \ + echo "No $$TAG tag. Archive build from HEAD."; \ + fi && \ + (cd "$$TAG" && "$${AUTORECONF:-autoreconf}" && rm -rf autom4te.cache) && \ + tar cf "$$DIR/$$TAG".tar "$$TAG" && \ + rm -f "$$DIR/$$TAG".tar.gz && \ + gzip --best "$$DIR/$$TAG".tar && \ + cd "$$DIR" && \ + rm -rf "$$AUTORECONF_DIR" + +releasecheck: releasetar + @TAG=$(PROG)-`cat VERSION` && \ + INSTALL_DIR=/tmp/install_"$$TAG"_$$$$ && \ + DIR=`pwd` && \ + cd /tmp && \ + rm -rf "$$TAG" && \ + rm -rf "$$INSTALL_DIR" && \ + tar xf "$$DIR"/"$$TAG".tar.gz && \ + cd "$$TAG" && \ + echo "[$@] $$ ./configure --enable-smb --quiet --prefix=$$INSTALL_DIR" && \ + ./configure --enable-smb --quiet --prefix="$$INSTALL_DIR" && \ + echo '[$@] $$ make -s all check' && \ + make -s all check >/dev/null && \ + echo '[$@] $$ make -s install' && \ + make -s install && \ + cd .. && \ + rm -rf "$$TAG" && \ + rm -rf "$$INSTALL_DIR" && \ + tar xf "$$DIR"/"$$TAG".tar.gz && \ + cd "$$TAG" && \ + mkdir build && \ + cd build && \ + echo '[$@] $$ cmake -DENABLE_SMB=yes [...] ..' && \ + cmake -DENABLE_SMB=yes \ + -DCMAKE_INSTALL_PREFIX="$$INSTALL_DIR" \ + -DCMAKE_MESSAGE_LOG_LEVEL=NOTICE \ + -DCMAKE_RULE_MESSAGES=OFF \ + -DCMAKE_INSTALL_MESSAGE=NEVER \ + .. && \ + echo '[$@] $$ make -s all check' && \ + make -s all check >/dev/null && \ + echo '[$@] $$ make -s install' && \ + make -s install && \ + cd ../.. && \ + rm -rf "$$TAG" && \ + rm -rf "$$INSTALL_DIR" && \ + echo '[$@] Done.' + +whitespacecheck: + @# trailing space(s)? + @if git grep -I -n ' $$' $$(git ls-files|grep -v '^tests/'); then \ + echo 'Error: Trailing space(s).'; \ + exit 1; \ + fi + @# trailing tab(s)? + @# install-sh has a tab at the end of one line + @if git grep -I -n ' $$' $$(git ls-files|grep -vE '^(tests/|install-sh$$)'); then \ + echo 'Error: Trailing tabs(s).'; \ + exit 1; \ + fi + @# space(s) before tab(s)? + @if git grep -I -n '[ ][ ]' $$(git ls-files|grep -v '^tests/'); then \ + echo 'Error: space(s) before tab(s).'; \ + exit 1; \ + fi testlist: echo $(TEST_DIST) -depend: $(GENSRC) - $(MKDEP) -c $(CC) -m $(DEPENDENCY_CFLAG) $(DEFS) $(INCLS) $(SRC) +depend: + $(MKDEP) -c "$(CC)" -m "$(DEPENDENCY_CFLAG)" -s "$(srcdir)" $(DEFS) $(INCLS) $(SRC) $(LIBNETDISSECT_SRC) + +shellcheck: + shellcheck -f gcc -e SC2006 build.sh build_matrix.sh build_common.sh