]> The Tcpdump Group git mirrors - tcpdump/blobdiff - Makefile.in
Detect OS IPv6 support using AF_INET6 only.
[tcpdump] / Makefile.in
index 95b182434023a255bdf8eaf820c6f4cb12a6fd51..9d03c21b91fa929a50d07b30b45302eb631f27d0 100644 (file)
@@ -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@
 
 #
@@ -87,6 +88,7 @@ LIBNETDISSECT_SRC=\
        netdissect.c \
        netdissect-alloc.c \
        nlpid.c \
+       ntp.c \
        oui.c \
        parsenfsfh.c \
        print.c \
@@ -104,6 +106,7 @@ LIBNETDISSECT_SRC=\
        print-atalk.c \
        print-atm.c \
        print-babel.c \
+       print-bcm-li.c \
        print-beep.c \
        print-bfd.c \
        print-bgp.c \
@@ -145,8 +148,8 @@ LIBNETDISSECT_SRC=\
        print-icmp6.c \
        print-igmp.c \
        print-igrp.c \
-       print-ip.c \
        print-ip-demux.c \
+       print-ip.c \
        print-ip6.c \
        print-ip6opts.c \
        print-ipcomp.c \
@@ -170,6 +173,7 @@ LIBNETDISSECT_SRC=\
        print-lwapp.c \
        print-lwres.c \
        print-m3ua.c \
+       print-macsec.c \
        print-mobile.c \
        print-mobility.c \
        print-mpcp.c \
@@ -184,10 +188,12 @@ LIBNETDISSECT_SRC=\
        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 \
@@ -196,13 +202,14 @@ LIBNETDISSECT_SRC=\
        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 \
@@ -215,6 +222,7 @@ LIBNETDISSECT_SRC=\
        print-slow.c \
        print-smtp.c \
        print-snmp.c \
+       print-someip.c \
        print-ssh.c \
        print-stp.c \
        print-sunatm.c \
@@ -229,19 +237,20 @@ 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.c \
        print-vxlan-gpe.c \
+       print-vxlan.c \
        print-wb.c \
+       print-whois.c \
        print-zep.c \
        print-zephyr.c \
        print-zeromq.c \
-       print-someip.c \
        signature.c \
        strtoaddr.c \
        util-print.c
@@ -253,11 +262,9 @@ LIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o) ${LOCALSRC:.c=.o} ${LIBOBJS}
 LIBNETDISSECT=libnetdissect.a
 
 
-SRC =  $(CSRC) $(GENSRC) $(LOCALSRC)
+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)
+OBJ =  $(CSRC:.c=.o)
 HDR = \
        addrtoname.h \
        addrtostr.h \
@@ -269,9 +276,11 @@ HDR = \
        chdlc.h \
        compiler-tests.h \
        cpack.h \
+       diag-control.h \
        ethertype.h \
        extract.h \
        fptype.h \
+       ftmacros.h \
        funcattrs.h \
        getservent.h \
        gmpls.h \
@@ -292,10 +301,12 @@ HDR = \
        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 \
@@ -311,81 +322,65 @@ HDR = \
        varattrs.h
 
 TAGHDR = \
-       /usr/include/arpa/tftp.h \
-       /usr/include/net/if_arp.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) $(LIBNETDISSECT_SRC)
+TAGFILES = $(SRC) $(HDR) $(TAGHDR) $(LIBNETDISSECT_SRC) \
+       print-smb.c smbutil.c
 
-CLEANFILES = $(PROG) $(OBJ) $(GENSRC) $(LIBNETDISSECT_OBJ)
+CLEANFILES = $(PROG) $(OBJ) $(LIBNETDISSECT_OBJ)
 
 EXTRA_DIST = \
        CHANGES \
-       CONTRIBUTING \
-       CREDITS \
        CMakeLists.txt \
-       INSTALL.txt \
+       CONTRIBUTING.md \
+       CREDITS \
+       INSTALL.md \
        LICENSE \
-       Makefile.in \
        Makefile-devel-adds \
-       PLATFORMS \
-       README \
+       Makefile.in \
        README.md \
-       Readme.Win32 \
        VERSION \
        aclocal.m4 \
+       autogen.sh \
        atime.awk \
        bpf_dump.c \
-       cmake_uninstall.cmake.in \
-       cmakeconfig.h.in \
        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.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/dlnames.c \
        missing/datalinks.c \
-       missing/getopt_long.h \
+       missing/dlnames.c \
        missing/getopt_long.c \
+       missing/getopt_long.h \
        missing/getservent.c \
        missing/pcap_dump_ftell.c \
-       missing/snprintf.c \
-       missing/strdup.c \
        missing/strlcat.c \
        missing/strlcpy.c \
        missing/strsep.c \
-       missing/win_ether_ntohost.c \
-       missing/win_ether_ntohost.h \
        mkdep \
        packetdat.awk \
-       print-pflog.c \
        print-smb.c \
        send-ack.awk \
        smbutil.c \
        stime.awk \
-       tcpdump.1.in \
-       win32/prj/GNUmakefile \
-       win32/prj/WinDump.dsp \
-       win32/prj/WinDump.dsw \
-       win32/prj/WinDump.sln \
-       win32/prj/WinDump.vcproj
+       tcpdump.1.in
+
+TEST_DIST= `git -C "$$DIR" ls-files tests | grep -v 'tests/\..*'`
 
-TEST_DIST= `git ls-files tests | grep -v 'tests/\..*'`
+RELEASE_FILES = $(CSRC) $(HDR) $(LIBNETDISSECT_SRC) $(EXTRA_DIST) $(TEST_DIST)
 
 all: $(PROG)
 
@@ -393,6 +388,18 @@ $(PROG): $(OBJ) @V_PCAPDEP@ $(LIBNETDISSECT)
        @rm -f $@
        $(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 $@
        $(AR) cr $@ $(LIBNETDISSECT_OBJ)
@@ -406,10 +413,6 @@ 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
-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
@@ -420,29 +423,31 @@ 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:
        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
@@ -459,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:
-       @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) $(LIBNETDISSECT_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