[Diameter] Add a couple of command codes from IANA.
[metze/wireshark/wip.git] / Makefile.am
index 677916d0202d66090978b5a554e6e56ab7e1ed26..d771aeb33de8d0b9005a1a4b4398f63e38c2875e 100644 (file)
@@ -45,17 +45,20 @@ bin_PROGRAMS = \
        @dumpcap_bin@           \
        @reordercap_bin@        \
        @rawshark_bin@          \
-       @echld_test_bin@
+       @sharkd_bin@
 
 EXTRA_PROGRAMS = wireshark-gtk wireshark tshark tfshark capinfos captype \
        editcap mergecap dftest randpkt text2pcap dumpcap reordercap \
-       rawshark echld_test
+       rawshark sharkd
 
 #
 # Wireshark configuration files are put in $(pkgdatadir).
 #
 dist_pkgdata_DATA = COPYING manuf services cfilters colorfilters dfilters \
-       smi_modules ipmap.html pdml2html.xsl
+       smi_modules ipmap.html pdml2html.xsl enterprises.tsv
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = wireshark.pc
 
 #
 # Install global profiles in the "profiles" subdirectory
@@ -74,12 +77,15 @@ include diameter/Custom.make
 dist_diameter_DATA = $(_CUSTOM_diameter_xml_files_) \
        diameter/chargecontrol.xml \
        diameter/Cisco.xml \
+       diameter/CiscoSystems.xml \
        diameter/Custom.xml \
        diameter/dictionary.dtd \
        diameter/dictionary.xml \
        diameter/eap.xml \
        diameter/Ericsson.xml \
        diameter/etsie2e4.xml \
+       diameter/Inovar.xml \
+       diameter/Juniper.xml \
        diameter/mobileipv4.xml \
        diameter/mobileipv6.xml \
        diameter/nasreq.xml \
@@ -129,13 +135,13 @@ dist_radius_DATA = $(_CUSTOM_radius_dict_) \
        radius/dictionary.3gpp2 \
        radius/dictionary.acc \
        radius/dictionary.acme \
-       radius/dictionary.airespace \
        radius/dictionary.actelis \
        radius/dictionary.aerohive \
+       radius/dictionary.airespace \
        radius/dictionary.alcatel \
+       radius/dictionary.alcatel-lucent.aaa \
        radius/dictionary.alcatel.esam \
        radius/dictionary.alcatel.sr \
-       radius/dictionary.alcatel-lucent.aaa \
        radius/dictionary.alteon \
        radius/dictionary.altiga \
        radius/dictionary.alvarion \
@@ -150,16 +156,16 @@ dist_radius_DATA = $(_CUSTOM_radius_dict_) \
        radius/dictionary.avaya \
        radius/dictionary.azaire \
        radius/dictionary.bay \
-       radius/dictionary.bluecoat \
        radius/dictionary.bintec \
+       radius/dictionary.bluecoat \
+       radius/dictionary.bristol \
        radius/dictionary.broadsoft \
        radius/dictionary.brocade \
        radius/dictionary.bskyb \
-       radius/dictionary.bristol \
        radius/dictionary.bt \
-       radius/dictionary.camiant \
        radius/dictionary.cablelabs \
        radius/dictionary.cabletron \
+       radius/dictionary.camiant \
        radius/dictionary.chillispot \
        radius/dictionary.cisco \
        radius/dictionary.cisco.asa \
@@ -168,15 +174,17 @@ dist_radius_DATA = $(_CUSTOM_radius_dict_) \
        radius/dictionary.cisco.vpn5000 \
        radius/dictionary.citrix \
        radius/dictionary.clavister \
+       radius/dictionary.cnergee \
        radius/dictionary.colubris \
        radius/dictionary.columbia_university \
-       radius/dictionary.compatible \
        radius/dictionary.compat \
+       radius/dictionary.compatible \
        radius/dictionary.cosine \
        radius/dictionary.dante \
+       radius/dictionary.dellemc \
        radius/dictionary.dhcp \
-       radius/dictionary.dlink \
        radius/dictionary.digium \
+       radius/dictionary.dlink \
        radius/dictionary.dragonwave \
        radius/dictionary.efficientip \
        radius/dictionary.eltex \
@@ -185,7 +193,6 @@ dist_radius_DATA = $(_CUSTOM_radius_dict_) \
        radius/dictionary.ericsson \
        radius/dictionary.ericsson.ab \
        radius/dictionary.ericsson.packet.core.networks \
-       radius/dictionary.erx \
        radius/dictionary.extreme \
        radius/dictionary.f5 \
        radius/dictionary.fdxtended \
@@ -210,8 +217,8 @@ dist_radius_DATA = $(_CUSTOM_radius_dict_) \
        radius/dictionary.itk \
        radius/dictionary.jradius \
        radius/dictionary.juniper \
-       radius/dictionary.kineto \
        radius/dictionary.karlnet \
+       radius/dictionary.kineto \
        radius/dictionary.lancom \
        radius/dictionary.livingston \
        radius/dictionary.localweb \
@@ -220,6 +227,7 @@ dist_radius_DATA = $(_CUSTOM_radius_dict_) \
        radius/dictionary.meinberg \
        radius/dictionary.merit \
        radius/dictionary.meru \
+       radius/dictionary.microsemi \
        radius/dictionary.microsoft \
        radius/dictionary.mikrotik \
        radius/dictionary.motorola \
@@ -276,11 +284,13 @@ dist_radius_DATA = $(_CUSTOM_radius_dict_) \
        radius/dictionary.rfc7155 \
        radius/dictionary.rfc7268 \
        radius/dictionary.rfc7499 \
+       radius/dictionary.rfc7930 \
        radius/dictionary.riverbed \
        radius/dictionary.riverstone \
        radius/dictionary.roaringpenguin \
        radius/dictionary.ruckus \
        radius/dictionary.ruggedcom \
+       radius/dictionary.sangoma \
        radius/dictionary.sg \
        radius/dictionary.shasta \
        radius/dictionary.shiva \
@@ -301,6 +311,7 @@ dist_radius_DATA = $(_CUSTOM_radius_dict_) \
        radius/dictionary.travelping \
        radius/dictionary.tropos \
        radius/dictionary.ukerna \
+       radius/dictionary.unisphere \
        radius/dictionary.unix \
        radius/dictionary.usr \
        radius/dictionary.utstarcom \
@@ -360,7 +371,68 @@ plugin_ldadd =
 
 endif          # HAVE_PLUGINS
 
-include Makefile.common
+# "BUILT_SOURCES" are built before any "make all" or "make check" targets.
+BUILT_HEADER_FILES = \
+       version.h
+
+BUILT_C_FILES =
+
+BUILT_SOURCES =        $(BUILT_C_FILES) $(BUILT_HEADER_FILES)
+
+# Header files generated from source files.
+GENERATED_HEADER_FILES = \
+       text2pcap-scanner_lex.h \
+       $(BUILT_HEADER_FILES)
+
+# C source files generated from source files.
+GENERATED_C_FILES =
+
+# All the generated files.
+GENERATED_FILES = $(GENERATED_C_FILES) $(GENERATED_HEADER_FILES)
+
+EXTCAP_COMMON_SRC = \
+       extcap.c                \
+       extcap_parser.c \
+       extcap_spawn.c
+
+EXTCAP_COMMON_INCLUDES = \
+       extcap.h                \
+       extcap_parser.h \
+       extcap_spawn.h
+
+# sources common for wireshark, tshark, and rawshark
+SHARK_COMMON_SRC = \
+       cfile.c                 \
+       frame_tvbuff.c          \
+       sync_pipe_write.c
+
+# corresponding headers
+SHARK_COMMON_INCLUDES = \
+       cfile.h                 \
+       file.h                  \
+       fileset.h               \
+       frame_tvbuff.h          \
+       register.h              \
+       ws_symbol_export.h
+
+# wireshark specifics
+WIRESHARK_COMMON_SRC = \
+       $(SHARK_COMMON_SRC)     \
+       capture_info.c          \
+       capture_opts.c          \
+       file.c                  \
+       fileset.c               \
+       summary.c               \
+       ws_version_info.c
+
+# corresponding headers
+WIRESHARK_COMMON_INCLUDES = \
+       capture_info.h          \
+       capture_opts.h          \
+       globals.h               \
+       log.h                   \
+       summary.h               \
+       sync_pipe.h
 
 if HAVE_EXTCAP
 SHARK_COMMON_SRC += $(EXTCAP_COMMON_SRC)
@@ -372,6 +444,14 @@ else
 EXTRALINKFLAGS = -export-dynamic
 endif
 
+EPAN_EXTRA_LIBS = \
+       @SSL_LIBS@                      \
+       @C_ARES_LIBS@                   \
+       @KRB5_LIBS@                     \
+       @LIBGCRYPT_LIBS@                \
+       @LIBGNUTLS_LIBS@                \
+       @LIBSMI_LDFLAGS@
+
 # Libraries and plugin flags with which to link wireshark.
 #
 # GTK_CFLAGS/GTK_LIBS is a strict superset of GLIB_CFLAGS/GLIB_LIBS
@@ -386,17 +466,12 @@ wireshark_common_ldadd = \
        wiretap/libwiretap.la           \
        epan/libwireshark.la            \
        wsutil/libwsutil.la             \
-       @SSL_LIBS@                      \
        $(plugin_ldadd)                 \
        @PCAP_LIBS@                     \
-       @C_ARES_LIBS@                   \
-       @KRB5_LIBS@                     \
        @APPLICATIONSERVICES_FRAMEWORKS@        \
        @SYSTEMCONFIGURATION_FRAMEWORKS@        \
        @COREFOUNDATION_FRAMEWORKS@     \
-       @LIBGCRYPT_LIBS@                \
-       @LIBGNUTLS_LIBS@                \
-       @LIBSMI_LDFLAGS@                \
+       $(EPAN_EXTRA_LIBS)                      \
        @LIBNL_LIBS@
 
 if HAVE_Qt
@@ -411,7 +486,11 @@ wireshark_LDADD = \
        $(wireshark_common_ldadd)       \
        $(GLIB_LIBS)                    \
        $(Qt_LIBS)
+
+if HAVE_SPEEXDSP
+wireshark_LDADD += $(SPEEXDSP_LIBS)
 endif
+endif  # HAVE_Qt
 
 if HAVE_GTK
 wireshark_gtk_SOURCES = $(WIRESHARK_COMMON_SRC)
@@ -427,6 +506,12 @@ wireshark_gtk_LDADD = \
        @PORTAUDIO_LIBS@
 endif
 
+tshark_SOURCES = \
+       $(SHARK_COMMON_SRC)     \
+       capture_opts.c          \
+       tshark.c                \
+       ws_version_info.c
+
 tshark_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
 tshark_LDFLAGS = $(AM_LDFLAGS) $(EXTRALINKFLAGS)
@@ -440,17 +525,17 @@ tshark_LDADD = \
        wiretap/libwiretap.la           \
        epan/libwireshark.la            \
        wsutil/libwsutil.la             \
-       @SSL_LIBS@                      \
        $(plugin_ldadd)                 \
        @GLIB_LIBS@                     \
        @PCAP_LIBS@                     \
-       @C_ARES_LIBS@                   \
-       @KRB5_LIBS@                     \
+       ${EPAN_EXTRA_LIBS}      \
        @SYSTEMCONFIGURATION_FRAMEWORKS@        \
-       @COREFOUNDATION_FRAMEWORKS@     \
-       @LIBGCRYPT_LIBS@                \
-       @LIBGNUTLS_LIBS@                \
-       @LIBSMI_LDFLAGS@
+       @COREFOUNDATION_FRAMEWORKS@
+
+tfshark_SOURCES = \
+       $(SHARK_COMMON_SRC)     \
+       tfshark.c               \
+       ws_version_info.c
 
 tfshark_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
@@ -463,15 +548,17 @@ tfshark_LDADD = \
        wiretap/libwiretap.la           \
        epan/libwireshark.la            \
        wsutil/libwsutil.la             \
-       @SSL_LIBS@                      \
        $(plugin_ldadd)                 \
        @GLIB_LIBS@                     \
        @PCAP_LIBS@                     \
-       @KRB5_LIBS@                     \
+       ${EPAN_EXTRA_LIBS}      \
        @SYSTEMCONFIGURATION_FRAMEWORKS@        \
-       @COREFOUNDATION_FRAMEWORKS@     \
-       @LIBGNUTLS_LIBS@                \
-       @LIBSMI_LDFLAGS@
+       @COREFOUNDATION_FRAMEWORKS@
+
+rawshark_SOURCES = \
+       $(SHARK_COMMON_SRC)     \
+       rawshark.c              \
+       ws_version_info.c
 
 rawshark_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
@@ -484,17 +571,52 @@ rawshark_LDADD = \
        wiretap/libwiretap.la           \
        epan/libwireshark.la            \
        wsutil/libwsutil.la             \
-       @SSL_LIBS@                      \
        $(plugin_ldadd)                 \
        @GLIB_LIBS@                     \
        @PCAP_LIBS@                     \
-       @C_ARES_LIBS@                   \
-       @KRB5_LIBS@                     \
+       ${EPAN_EXTRA_LIBS}      \
        @SYSTEMCONFIGURATION_FRAMEWORKS@        \
-       @COREFOUNDATION_FRAMEWORKS@     \
-       @LIBGCRYPT_LIBS@                \
-       @LIBGNUTLS_LIBS@                \
-       @LIBSMI_LDFLAGS@
+       @COREFOUNDATION_FRAMEWORKS@
+
+sharkd_SOURCES = \
+       $(SHARK_COMMON_SRC)     \
+       sharkd.c                \
+       sharkd.h                \
+       sharkd_daemon.c         \
+       sharkd_session.c        \
+       ws_version_info.c
+
+sharkd_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
+
+if HAVE_SPEEXDSP
+sharkd_CPPFLAGS += $(SPEEXDSP_CFLAGS)
+endif
+
+sharkd_LDFLAGS = $(AM_LDFLAGS) $(EXTRALINKFLAGS)
+
+# Libraries and plugin flags with which to link sharkd.
+sharkd_LDADD = \
+       ui/cli/libcliui.a               \
+       ui/libui.a                      \
+       codecs/libwscodecs.la           \
+       wiretap/libwiretap.la           \
+       epan/libwireshark.la            \
+       wsutil/libwsutil.la             \
+       $(plugin_ldadd)                 \
+       @GLIB_LIBS@                     \
+       @PCAP_LIBS@                     \
+       ${EPAN_EXTRA_LIBS}      \
+       @SYSTEMCONFIGURATION_FRAMEWORKS@        \
+       @COREFOUNDATION_FRAMEWORKS@
+
+if HAVE_SPEEXDSP
+sharkd_LDADD += $(SPEEXDSP_LIBS)
+endif
+
+text2pcap_SOURCES = \
+       text2pcap.c             \
+       text2pcap-scanner.l     \
+       ws_version_info.c
 
 text2pcap_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
@@ -510,58 +632,92 @@ text2pcap_LDADD = \
        wsutil/libwsutil.la             \
        @GLIB_LIBS@
 
+mergecap_SOURCES = \
+       mergecap.c      \
+       ws_version_info.c
+
 mergecap_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
 # Libraries with which to link mergecap.
 mergecap_LDADD = \
+       ui/libui.a                      \
        wiretap/libwiretap.la           \
        wsutil/libwsutil.la             \
        @GLIB_LIBS@
 
+capinfos_SOURCES = \
+       capinfos.c      \
+       ws_version_info.c
+
 capinfos_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
 # Libraries with which to link capinfos.
 capinfos_LDADD = \
+       ui/libui.a                      \
        wiretap/libwiretap.la           \
        wsutil/libwsutil.la             \
        @GLIB_LIBS@                     \
        @LIBGCRYPT_LIBS@
 
+captype_SOURCES = \
+       captype.c       \
+       ws_version_info.c
+
 captype_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
 # Libraries with which to link captype.
 captype_LDADD = \
+       ui/libui.a                      \
        wiretap/libwiretap.la           \
        wsutil/libwsutil.la             \
        @GLIB_LIBS@
 
+editcap_SOURCES = \
+       editcap.c       \
+       ws_version_info.c
+
 editcap_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
 # Libraries with which to link editcap.
 editcap_LDADD = \
+       ui/libui.a                      \
        wiretap/libwiretap.la           \
        wsutil/libwsutil.la             \
-       @GLIB_LIBS@
+       @GLIB_LIBS@                     \
+       @LIBGCRYPT_LIBS@
+
+reordercap_SOURCES = \
+       reordercap.c    \
+       ws_version_info.c
 
 reordercap_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
 # Libraries with which to link reordercap.
 reordercap_LDADD = \
+       ui/libui.a                      \
        wiretap/libwiretap.la           \
        wsutil/libwsutil.la             \
        @GLIB_LIBS@
 
+randpkt_SOURCES = \
+       randpkt.c       \
+       ws_version_info.c
+
 randpkt_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
 # Libraries with which to link randpkt.
 randpkt_LDADD = \
        randpkt_core/librandpkt_core.a  \
+       ui/libui.a                      \
        wiretap/libwiretap.la           \
        wsutil/libwsutil.la             \
        @GLIB_LIBS@                     \
        @PCAP_LIBS@                     \
        @C_ARES_LIBS@
 
+dftest_SOURCES = \
+       dftest.c
+
 dftest_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
 # Libraries and plugin flags with which to link dftest.
@@ -570,30 +726,19 @@ dftest_LDADD = \
        wiretap/libwiretap.la           \
        wsutil/libwsutil.la             \
        epan/libwireshark.la            \
-       @SSL_LIBS@                      \
        $(plugin_ldadd)                 \
        @GLIB_LIBS@                     \
        @PCAP_LIBS@                     \
-       @C_ARES_LIBS@                   \
-       @KRB5_LIBS@                     \
-       @LIBGCRYPT_LIBS@                \
-       @LIBGNUTLS_LIBS@                \
-       @LIBSMI_LDFLAGS@
+       ${EPAN_EXTRA_LIBS}
 
-echld_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
-
-echld_test_LDADD = \
-       epan/libwireshark.la            \
-       echld/libechld.la               \
-       writecap/libwritecap.a          \
-       wsutil/libwsutil.la             \
-       @GLIB_LIBS@                     \
-       @PCAP_LIBS@                     \
-       @C_ARES_LIBS@
-
-echld_test_DEPENDENCIES = \
-       echld/libechld.la \
-       epan/libwireshark.la
+dumpcap_SOURCES = \
+       capture_opts.c                  \
+       capture_stop_conditions.c       \
+       conditions.c                    \
+       dumpcap.c                       \
+       ringbuffer.c                    \
+       sync_pipe_write.c               \
+       ws_version_info.c
 
 dumpcap_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
 
@@ -604,6 +749,7 @@ dumpcap_LDFLAGS = $(AM_LDFLAGS) $(PIE_LDFLAGS)
 # Libraries with which to link dumpcap.
 dumpcap_LDADD = \
        caputils/libcaputils.a          \
+       ui/libui.a                      \
        writecap/libwritecap.a          \
        wsutil/libwsutil.la             \
        @GLIB_LIBS@                     \
@@ -613,6 +759,17 @@ dumpcap_LDADD = \
        @LIBCAP_LIBS@                   \
        @LIBNL_LIBS@
 
+# this target needed for distribution only
+noinst_HEADERS = \
+       $(SHARK_COMMON_INCLUDES)        \
+       $(EXTCAP_COMMON_INCLUDES)       \
+       $(WIRESHARK_COMMON_INCLUDES)    \
+       capture_stop_conditions.h       \
+       conditions.h                    \
+       ringbuffer.h                    \
+       ws_diag_control.h               \
+       ws_version_info.h
+
 #
 # Build the version string
 #
@@ -636,7 +793,7 @@ SUFFIXES = .sh
 services:
        $(PYTHON) $(srcdir)/tools/make-services.py
 
-CLEANFILES =           \
+CLEANFILES = \
        *~              \
        doxygen-core.tag        \
        vgcore.*
@@ -655,7 +812,7 @@ DISTCLEANFILES = \
        ps.c                    \
        version.h
 
-MAINTAINERCLEANFILES =         \
+MAINTAINERCLEANFILES = \
        $(GENERATED_FILES)      \
        Makefile.in             \
        aclocal.m4              \
@@ -673,28 +830,23 @@ EXTRA_DIST = \
        .mailmap                \
        INSTALL.configure       \
        Makefile.am.inc         \
-       Makefile.common         \
-       Makefile.nmake          \
-       Makefile.nmake.inc      \
        README.aix              \
        README.bsd              \
        README.DECT             \
        README.hpux             \
        README.linux            \
        README.macos            \
-       README.tru64            \
        README.vmware           \
        README.windows          \
        abi-descriptor.template \
        autogen.sh              \
        cfilters                \
        colorfilters            \
-       config.h.win32          \
-       config.nmake            \
        debian                  \
        dfilters                \
        doxygen_global.cfg      \
        doxygen.cfg.in          \
+       enterprises.tsv         \
        fix                     \
        idl                     \
        image                   \
@@ -746,7 +898,6 @@ DIST_SUBDIRS = \
        codecs          \
        doc             \
        epan            \
-       echld           \
        ui              \
        ui/cli          \
        ui/gtk          \
@@ -770,11 +921,11 @@ SUBDIRS = \
        epan                    \
        capchild                \
        caputils                \
-       @echld_dir@             \
        @plugins_dir@           \
        packaging               \
        help                    \
        ui                      \
+       codecs                  \
        @wireshark_SUBDIRS@     \
        ui/cli                  \
        randpkt_core            \
@@ -790,26 +941,6 @@ libtool: $(LIBTOOL_DEPS)
        $(SHELL) ./config.status --recheck
 
 
-# Used by patch-bzip2
-# Trim off any extra version information and find the previous micro release.
-BASE_VERSION=`echo "$(VERSION)" | awk -F. '{$$3 = $$3 + 0 ; printf("%d.%d.%d"), $$1, $$2, $$3}'`
-PREV_VERSION=`echo "$(VERSION)" | awk -F. '{$$3 = $$3 + 0 ; if ($$3 > 0) $$3-- ; printf("%d.%d.%d"), $$1, $$2, $$3}'`
-PREV_DIR="wireshark-$(PREV_VERSION)"
-PREV_FILE="$(PREV_DIR).tar.bz2"
-PREV_URL="https://www.wireshark.org/download/src/all-versions/$(PREV_FILE)"
-
-patch-bzip2: distdir
-       if test x$(BASE_VERSION) != x$(PREV_VERSION) ; then \
-               curl --time-cond $(PREV_FILE) --location --output $(PREV_FILE) $(PREV_URL) && \
-               tar -xjf $(PREV_FILE) && \
-               diff -urN $(PREV_DIR) $(distdir) | bzip2 > patch-wireshark-$(PREV_VERSION)-to-$(VERSION).bz2 && \
-               echo "Created patch-bzip2" ; \
-               rm -rf "$(PREV_FILE)" "$(PREV_DIR)" ; \
-       else \
-               echo "This appears to be the first micro version ($(PREV_VERSION)). Skipping." ; \
-       fi
-       $(am__remove_distdir)
-
 #
 # Install icons and other desktop files for (for use with GNOME, KDE, or
 # any other freedesktop.org-compliant desktops).
@@ -853,12 +984,12 @@ patch-bzip2: distdir
 # FreeBSD install command has a -T flag that takes an argument and
 # that has completely different semantics.
 #
-# We neither need nor want any of this on OS X, nor do we want it if
+# We neither need nor want any of this on macOS, nor do we want it if
 # we're not building Wireshark (that being the only desktop app).
 #
 install-data-local:
 if BUILDING_WIRESHARK
-if NOT_OS_X
+if NOT_MACOS
        mkdir -p $(DESTDIR)$(datadir)/mime/packages
        install -m 644 $(srcdir)/wireshark-mime-package.xml $(DESTDIR)$(datadir)/mime/packages/wireshark.xml
        mkdir -p $(DESTDIR)$(datadir)/appdata
@@ -883,7 +1014,7 @@ endif
 
 uninstall-local:
 if BUILDING_WIRESHARK
-if NOT_OS_X
+if NOT_MACOS
        rm -f $(DESTDIR)$(datadir)/appdata/wireshark.appdata.xml
        rm -f $(DESTDIR)$(datadir)/applications/wireshark.desktop
        rm -f $(DESTDIR)$(datadir)/applications/wireshark-gtk.desktop
@@ -924,12 +1055,12 @@ uninstall-hook: update-databases-and-caches-uninstall
 # We only need to run gtk-update-icon-cache if we're installing a GTK+
 # version of Wireshark.
 #
-# We neither need nor want any of this on OS X, nor do we want it if
+# We neither need nor want any of this on macOS, nor do we want it if
 # we're not building Wireshark (that being the only desktop app).
 #
 update-databases-and-caches-common:
 if BUILDING_WIRESHARK
-if NOT_OS_X
+if NOT_MACOS
        @echo "You may need to run \"ldconfig\" as root"
        @echo "You may need to run \"update-desktop-database $(datadir)/applications\""
        @echo "You may need to run \"update-mime-database $(datadir)/mime\""
@@ -967,21 +1098,22 @@ svr4-package: $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA)
 
 
 rpm_topdir=`cd $(top_builddir) && pwd`/packaging/rpm
+if HAVE_RPM
 rpm-package: dist
-       @if test x$(HAVE_RPM) = xyes ; then \
-               cd $(rpm_topdir) ; \
-               mkdir -p BUILD RPMS SOURCES SRPMS; \
-               cd SOURCES ; \
-               ln -sf ../../../$(distdir).tar.bz2 ; \
-               cd .. ; \
-               rpmbuild --define "_topdir `cd . && pwd`" --define "_prefix $(prefix)" \
-                       @RPMBUILD_WITH_ARGS@ --clean -ba SPECS/wireshark.spec && \
-                       echo "Package successfully built in `pwd`/RPMS." && \
-                       rm -f SOURCES/$(distdir).tar.bz2 $(distdir).tar.bz2 ; \
-       else \
-               echo "Error: RPM executable and/or source directory not found." ; \
-               false; \
-       fi
+       @cd $(rpm_topdir) && \
+         mkdir -p BUILD RPMS SOURCES SRPMS && \
+         cd SOURCES && \
+         ln -sf ../../../$(distdir).tar.xz && \
+         cd .. && \
+         $(RPMBUILD) --define "_topdir `cd . && pwd`" --define "_prefix $(prefix)" \
+               @RPMBUILD_WITH_ARGS@ --clean -ba SPECS/wireshark.spec && \
+         echo "Package successfully built in `pwd`/RPMS." ; \
+         rm -f SOURCES/$(distdir).tar.xz ../../$(distdir).tar.xz
+else
+rpm-package:
+       @echo "'rpmbuild' executable not available." ; \
+         false
+endif
 
 # XXX - This assumes we're building from the source directory.
 osx-app: $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) packaging/macosx/Info.plist
@@ -996,7 +1128,7 @@ osx-app: $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) packaging/macosx/Info.plist
                        --extcap-path ../staging/$(PACKAGE).inst$(extcapdir) \
                        --library-path ../staging/$(PACKAGE).inst$(libdir) ; \
        else \
-               echo "Error: OS X packaging tools not found." ; \
+               echo "Error: macOS packaging tools not found." ; \
                echo "Package build abandoned." ; \
        fi
 
@@ -1042,10 +1174,12 @@ checkapi: checkapi_local
        cd caputils && $(MAKE) checkapi
        cd ui && $(MAKE) checkapi
        cd ui/gtk && $(MAKE) checkapi
-##     cd epan && $(MAKE) checkapi
+       cd ui/cli && $(MAKE) checkapi
+       cd epan && $(MAKE) checkapi
        cd epan/crypt && $(MAKE) checkapi
        cd epan/dfilter && $(MAKE) checkapi
-##     cd epan/ftypes && $(MAKE) checkapi
+       cd epan/ftypes && $(MAKE) checkapi
+       cd epan/wmem && $(MAKE) checkapi
        cd epan/wslua && $(MAKE) checkapi
        cd epan/dissectors && $(MAKE) checkapi
        cd plugins && $(MAKE) checkapi
@@ -1053,6 +1187,22 @@ checkapi: checkapi_local
        cd writecap && $(MAKE) checkapi
        cd wsutil && $(MAKE) checkapi
 
+if HAVE_SHELLCHECK
+# --external-sources requires 0.4.0 or later.
+shellcheck:
+       cd $(top_srcdir) && \
+       shellcheck --external-sources \
+         tools/fuzz-test.sh \
+         tools/randpkt-test.sh \
+         tools/runa2x.sh \
+         tools/test-captures.sh \
+         tools/valgrind-wireshark.sh
+else
+shellcheck:
+       @echo "Shellcheck not available." ; \
+         false
+endif
+
 wsar_html: doxygen.cfg doxygen_global.cfg FORCE
 if HAVE_DOXYGEN
        rm -rf wsar_html
@@ -1073,3 +1223,7 @@ endif
 # Update AUTHORS file with entries from git shortlog
 gen-authors:
        cd $(top_srcdir) && $(PERL) tools/generate_authors.pl AUTHORS.src > AUTHORS
+
+dist-hook:
+       printf "git_description=%s\n" "$$(git -C $(top_srcdir) describe --match 'v[1-9]*')" \
+               > $(top_distdir)/version.conf