# Makefile.am # Automake file for Wireshark # # Wireshark - Network traffic analyzer # By Gerald Combs # Copyright 1998 Gerald Combs # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. include ./Makefile.am.inc AM_DISTCHECK_CONFIGURE_FLAGS=@GUI_CONFIGURE_FLAGS@ # Make sure to keep ACLOCAL_AMFLAGS in Makefile.am and AC_CONFIG_MACRO_DIRS # in configure.ac in sync, otherwise there will be an error running autogen.sh. ACLOCAL_AMFLAGS = -I m4 # Common headers COMMONCPPFLAGS = AM_CPPFLAGS = $(INCLUDEDIRS) $(WS_CPPFLAGS) $(COMMONCPPFLAGS) bin_PROGRAMS = \ @wireshark_bin@ \ @tshark_bin@ \ @tfshark_bin@ \ @text2pcap_bin@ \ @mergecap_bin@ \ @capinfos_bin@ \ @captype_bin@ \ @editcap_bin@ \ @randpkt_bin@ \ @dftest_bin@ \ @dumpcap_bin@ \ @reordercap_bin@ \ @rawshark_bin@ \ @echld_test_bin@ EXTRA_PROGRAMS = wireshark-gtk wireshark tshark tfshark capinfos captype \ editcap mergecap dftest randpkt text2pcap dumpcap reordercap \ rawshark echld_test # # Wireshark configuration files are put in $(pkgdatadir). # dist_pkgdata_DATA = COPYING manuf services cfilters colorfilters dfilters \ smi_modules ipmap.html pdml2html.xsl # # Install global profiles in the "profiles" subdirectory # profilesdir = $(pkgdatadir) nobase_dist_profiles_DATA = \ profiles/Bluetooth/colorfilters \ profiles/Classic/colorfilters # # Install the Diameter DTD and XML files in the "diameter" subdirectory # of that directory. # diameterdir = $(pkgdatadir)/diameter include diameter/Custom.make dist_diameter_DATA = $(_CUSTOM_diameter_xml_files_) \ diameter/chargecontrol.xml \ diameter/Cisco.xml \ diameter/Custom.xml \ diameter/dictionary.dtd \ diameter/dictionary.xml \ diameter/eap.xml \ diameter/Ericsson.xml \ diameter/etsie2e4.xml \ diameter/mobileipv4.xml \ diameter/mobileipv6.xml \ diameter/nasreq.xml \ diameter/sip.xml \ diameter/Starent.xml \ diameter/sunping.xml \ diameter/TGPP.xml \ diameter/TGPP2.xml \ diameter/Vodafone.xml \ diameter/AlcatelLucent.xml \ diameter/Nokia.xml \ diameter/NokiaSolutionsAndNetworks.xml \ diameter/HP.xml \ diameter/Oracle.xml # # Install the DTDs directory files in the "dtds" subdirectory # of that directory # dtdsdir = $(pkgdatadir)/dtds dist_dtds_DATA = \ dtds/dc.dtd \ dtds/itunes.dtd \ dtds/mscml.dtd \ dtds/pocsettings.dtd \ dtds/presence.dtd \ dtds/reginfo.dtd \ dtds/rlmi.dtd \ dtds/rss.dtd \ dtds/smil.dtd \ dtds/xcap-caps.dtd \ dtds/xcap-error.dtd \ dtds/watcherinfo.dtd # # Install the RADIUS directory files in the "radius" subdirectory # of that directory. # radiusdir = $(pkgdatadir)/radius include radius/Custom.make dist_radius_DATA = $(_CUSTOM_radius_dict_) \ radius/README.radius_dictionary \ radius/custom.includes \ radius/dictionary \ radius/dictionary.3com \ radius/dictionary.3gpp \ radius/dictionary.3gpp2 \ radius/dictionary.acc \ radius/dictionary.acme \ radius/dictionary.airespace \ radius/dictionary.actelis \ radius/dictionary.aerohive \ radius/dictionary.alcatel \ radius/dictionary.alcatel.esam \ radius/dictionary.alcatel.sr \ radius/dictionary.alcatel-lucent.aaa \ radius/dictionary.alteon \ radius/dictionary.altiga \ radius/dictionary.alvarion \ radius/dictionary.alvarion.wimax.v2_2 \ radius/dictionary.apc \ radius/dictionary.aptis \ radius/dictionary.arbor \ radius/dictionary.aruba \ radius/dictionary.ascend \ radius/dictionary.asn \ radius/dictionary.audiocodes \ radius/dictionary.avaya \ radius/dictionary.azaire \ radius/dictionary.bay \ radius/dictionary.bluecoat \ radius/dictionary.bintec \ 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.chillispot \ radius/dictionary.cisco \ radius/dictionary.cisco.asa \ radius/dictionary.cisco.bbsm \ radius/dictionary.cisco.vpn3000 \ radius/dictionary.cisco.vpn5000 \ radius/dictionary.citrix \ radius/dictionary.clavister \ radius/dictionary.colubris \ radius/dictionary.columbia_university \ radius/dictionary.compatible \ radius/dictionary.compat \ radius/dictionary.cosine \ radius/dictionary.dante \ radius/dictionary.dhcp \ radius/dictionary.dlink \ radius/dictionary.digium \ radius/dictionary.dragonwave \ radius/dictionary.efficientip \ radius/dictionary.eltex \ radius/dictionary.epygi \ radius/dictionary.equallogic \ 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 \ radius/dictionary.fortinet \ radius/dictionary.foundry \ radius/dictionary.freedhcp \ radius/dictionary.freeradius \ radius/dictionary.freeradius.internal \ radius/dictionary.freeswitch \ radius/dictionary.gandalf \ radius/dictionary.garderos \ radius/dictionary.gemtek \ radius/dictionary.h3c \ radius/dictionary.hp \ radius/dictionary.huawei \ radius/dictionary.iana \ radius/dictionary.iea \ radius/dictionary.infoblox \ radius/dictionary.infonet \ radius/dictionary.ipunplugged \ radius/dictionary.issanni \ radius/dictionary.itk \ radius/dictionary.jradius \ radius/dictionary.juniper \ radius/dictionary.kineto \ radius/dictionary.karlnet \ radius/dictionary.lancom \ radius/dictionary.livingston \ radius/dictionary.localweb \ radius/dictionary.lucent \ radius/dictionary.manzara \ radius/dictionary.meinberg \ radius/dictionary.merit \ radius/dictionary.meru \ radius/dictionary.microsoft \ radius/dictionary.mikrotik \ radius/dictionary.motorola \ radius/dictionary.motorola.wimax \ radius/dictionary.navini \ radius/dictionary.netscreen \ radius/dictionary.networkphysics \ radius/dictionary.nexans \ radius/dictionary.nokia \ radius/dictionary.nokia.conflict \ radius/dictionary.nomadix \ radius/dictionary.nortel \ radius/dictionary.ntua \ radius/dictionary.openser \ radius/dictionary.packeteer \ radius/dictionary.paloalto \ radius/dictionary.patton \ radius/dictionary.perle \ radius/dictionary.propel \ radius/dictionary.prosoft \ radius/dictionary.proxim \ radius/dictionary.purewave \ radius/dictionary.quiconnect \ radius/dictionary.quintum \ radius/dictionary.redcreek \ radius/dictionary.rfc2865 \ radius/dictionary.rfc2866 \ radius/dictionary.rfc2867 \ radius/dictionary.rfc2868 \ radius/dictionary.rfc2869 \ radius/dictionary.rfc3162 \ radius/dictionary.rfc3576 \ radius/dictionary.rfc3580 \ radius/dictionary.rfc4072 \ radius/dictionary.rfc4372 \ radius/dictionary.rfc4603 \ radius/dictionary.rfc4675 \ radius/dictionary.rfc4679 \ radius/dictionary.rfc4818 \ radius/dictionary.rfc4849 \ radius/dictionary.rfc5090 \ radius/dictionary.rfc5176 \ radius/dictionary.rfc5447 \ radius/dictionary.rfc5580 \ radius/dictionary.rfc5607 \ radius/dictionary.rfc5904 \ radius/dictionary.rfc6519 \ radius/dictionary.rfc6572 \ radius/dictionary.rfc6677 \ radius/dictionary.rfc6911 \ radius/dictionary.rfc6929 \ radius/dictionary.rfc6930 \ radius/dictionary.rfc7055 \ radius/dictionary.rfc7155 \ radius/dictionary.rfc7268 \ radius/dictionary.rfc7499 \ radius/dictionary.riverbed \ radius/dictionary.riverstone \ radius/dictionary.roaringpenguin \ radius/dictionary.ruckus \ radius/dictionary.ruggedcom \ radius/dictionary.sg \ radius/dictionary.shasta \ radius/dictionary.shiva \ radius/dictionary.siemens \ radius/dictionary.slipstream \ radius/dictionary.sofaware \ radius/dictionary.sonicwall \ radius/dictionary.springtide \ radius/dictionary.starent \ radius/dictionary.starent.vsa1 \ radius/dictionary.surfnet \ radius/dictionary.symbol \ radius/dictionary.t_systems_nova \ radius/dictionary.telebit \ radius/dictionary.telkom \ radius/dictionary.terena \ radius/dictionary.trapeze \ radius/dictionary.travelping \ radius/dictionary.tropos \ radius/dictionary.ukerna \ radius/dictionary.unix \ radius/dictionary.usr \ radius/dictionary.utstarcom \ radius/dictionary.valemount \ radius/dictionary.versanet \ radius/dictionary.vqp \ radius/dictionary.walabi \ radius/dictionary.waverider \ radius/dictionary.wichorus \ radius/dictionary.wimax \ radius/dictionary.wimax.alvarion \ radius/dictionary.wimax.wichorus \ radius/dictionary.wispr \ radius/dictionary.xedia \ radius/dictionary.xylan \ radius/dictionary.yubico \ radius/dictionary.zeus \ radius/dictionary.zte \ radius/dictionary.zyxel # # Install the tpncp directory files in the "tpncp" subdirectory # of that directory # tpncpdir = $(pkgdatadir)/tpncp dist_tpncp_DATA = \ tpncp/tpncp.dat # # Install the wimaxasncp directory files in the "wimaxasncp" subdirectory # of that directory # wimaxasncpdir = $(pkgdatadir)/wimaxasncp dist_wimaxasncp_DATA = \ wimaxasncp/dictionary.xml \ wimaxasncp/dictionary.dtd if HAVE_PLUGINS -include plugins/Custom.make plugin_ldadd = $(_CUSTOM_plugin_ldadd_) \ -dlopen plugins/docsis/docsis.la \ -dlopen plugins/ethercat/ethercat.la \ -dlopen plugins/gryphon/gryphon.la \ -dlopen plugins/irda/irda.la \ -dlopen plugins/m2m/m2m.la \ -dlopen plugins/mate/mate.la \ -dlopen plugins/opcua/opcua.la \ -dlopen plugins/profinet/profinet.la \ -dlopen plugins/stats_tree/stats_tree.la \ -dlopen plugins/unistim/unistim.la \ -dlopen plugins/wimax/wimax.la \ -dlopen plugins/wimaxmacphy/wimaxmacphy.la else # HAVE_PLUGINS plugin_ldadd = endif # HAVE_PLUGINS include Makefile.common if HAVE_EXTCAP SHARK_COMMON_SRC += $(EXTCAP_COMMON_SRC) endif if ENABLE_STATIC EXTRALINKFLAGS = -Wl,-static -all-static else EXTRALINKFLAGS = -export-dynamic endif # Libraries and plugin flags with which to link wireshark. # # Note that Wireshark, when built with a version of GTK+ that runs # atop X11, doesn't have to be linked with @SOCKET_LIBS@ or @NSL_LIBS@, # as those should also be included in @GTK_LIBS@ (as those are also # needed for X applications, and GTK+ applications are X applications # if the version of GTK+ they're built with runs atop X11). # # GTK_CFLAGS/GTK_LIBS is a strict superset of GLIB_CFLAGS/GLIB_LIBS # (see configure.ac for pkg-config modules used). # wireshark_common_ldadd = \ capchild/libcapchild.a \ caputils/libcaputils.a \ ui/libui.a \ ui/libui_dirty.a \ codecs/libwscodecs.la \ 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@ \ @LIBNL_LIBS@ if HAVE_Qt wireshark_SOURCES = $(WIRESHARK_COMMON_SRC) wireshark-qt.cpp wireshark_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) $(Qt_CFLAGS) wireshark_LDFLAGS = $(AM_LDFLAGS) $(EXTRALINKFLAGS) $(Qt_LDFLAGS) wireshark_LDADD = \ ui/qt/libqtui.a \ $(wireshark_common_ldadd) \ $(GLIB_LIBS) \ $(Qt_LIBS) endif if HAVE_GTK wireshark_gtk_SOURCES = $(WIRESHARK_COMMON_SRC) wireshark_gtk_CPPFLAGS = $(AM_CPPFLAGS) $(GTK_CFLAGS) wireshark_gtk_LDFLAGS = $(AM_LDFLAGS) $(EXTRALINKFLAGS) wireshark_gtk_LDADD = \ ui/gtk/libgtkui.a \ $(wireshark_common_ldadd) \ $(GTK_LIBS) \ @PORTAUDIO_LIBS@ endif tshark_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) tshark_LDFLAGS = $(AM_LDFLAGS) $(EXTRALINKFLAGS) # Libraries and plugin flags with which to link tshark. tshark_LDADD = \ capchild/libcapchild.a \ caputils/libcaputils.a \ ui/cli/libcliui.a \ ui/libui.a \ wiretap/libwiretap.la \ epan/libwireshark.la \ wsutil/libwsutil.la \ @SSL_LIBS@ \ $(plugin_ldadd) \ @GLIB_LIBS@ \ @PCAP_LIBS@ \ @SOCKET_LIBS@ \ @NSL_LIBS@ \ @C_ARES_LIBS@ \ @KRB5_LIBS@ \ @SYSTEMCONFIGURATION_FRAMEWORKS@ \ @COREFOUNDATION_FRAMEWORKS@ \ @LIBGCRYPT_LIBS@ \ @LIBGNUTLS_LIBS@ \ @LIBSMI_LDFLAGS@ tfshark_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) tfshark_LDFLAGS = $(AM_LDFLAGS) $(EXTRALINKFLAGS) # Libraries and plugin flags with which to link tfshark. tfshark_LDADD = \ ui/cli/libcliui.a \ ui/libui.a \ wiretap/libwiretap.la \ epan/libwireshark.la \ wsutil/libwsutil.la \ @SSL_LIBS@ \ $(plugin_ldadd) \ @GLIB_LIBS@ \ @PCAP_LIBS@ \ @SOCKET_LIBS@ \ @NSL_LIBS@ \ @KRB5_LIBS@ \ @SYSTEMCONFIGURATION_FRAMEWORKS@ \ @COREFOUNDATION_FRAMEWORKS@ \ @LIBGNUTLS_LIBS@ \ @LIBSMI_LDFLAGS@ rawshark_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) rawshark_LDFLAGS = $(AM_LDFLAGS) $(EXTRALINKFLAGS) # Libraries and plugin flags with which to link rawshark. rawshark_LDADD = \ caputils/libcaputils.a \ ui/libui.a \ wiretap/libwiretap.la \ epan/libwireshark.la \ wsutil/libwsutil.la \ @SSL_LIBS@ \ $(plugin_ldadd) \ @GLIB_LIBS@ \ @PCAP_LIBS@ \ @SOCKET_LIBS@ \ @NSL_LIBS@ \ @C_ARES_LIBS@ \ @KRB5_LIBS@ \ @SYSTEMCONFIGURATION_FRAMEWORKS@ \ @COREFOUNDATION_FRAMEWORKS@ \ @LIBGCRYPT_LIBS@ \ @LIBGNUTLS_LIBS@ \ @LIBSMI_LDFLAGS@ text2pcap_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) # Don't turn on -Werror for text2pcap: its source includes text2pcap-scanner.c # which is generated (and therefore not always clean). # We could generate text2pcap.o as a library with -Werror but for now it # doesn't seem worth the effort. text2pcap_CFLAGS = $(GENERATED_CFLAGS) # Libraries with which to link text2pcap. text2pcap_LDADD = \ wsutil/libwsutil.la \ @GLIB_LIBS@ mergecap_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) # Libraries with which to link mergecap. mergecap_LDADD = \ wiretap/libwiretap.la \ wsutil/libwsutil.la \ @GLIB_LIBS@ capinfos_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) # Libraries with which to link capinfos. capinfos_LDADD = \ wiretap/libwiretap.la \ wsutil/libwsutil.la \ @GLIB_LIBS@ \ @LIBGCRYPT_LIBS@ captype_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) # Libraries with which to link captype. captype_LDADD = \ wiretap/libwiretap.la \ wsutil/libwsutil.la \ @GLIB_LIBS@ editcap_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) # Libraries with which to link editcap. editcap_LDADD = \ wiretap/libwiretap.la \ wsutil/libwsutil.la \ @GLIB_LIBS@ reordercap_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) # Libraries with which to link reordercap. reordercap_LDADD = \ wiretap/libwiretap.la \ wsutil/libwsutil.la \ @GLIB_LIBS@ randpkt_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) # Libraries with which to link randpkt. randpkt_LDADD = \ randpkt_core/librandpkt_core.a \ wiretap/libwiretap.la \ wsutil/libwsutil.la \ @GLIB_LIBS@ \ @PCAP_LIBS@ \ @SOCKET_LIBS@ \ @NSL_LIBS@ \ @C_ARES_LIBS@ dftest_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) # Libraries and plugin flags with which to link dftest. dftest_LDADD = \ ui/libui.a \ wiretap/libwiretap.la \ wsutil/libwsutil.la \ epan/libwireshark.la \ @SSL_LIBS@ \ $(plugin_ldadd) \ @GLIB_LIBS@ \ @PCAP_LIBS@ \ @SOCKET_LIBS@ \ @NSL_LIBS@ \ @C_ARES_LIBS@ \ @KRB5_LIBS@ \ @LIBGCRYPT_LIBS@ \ @LIBGNUTLS_LIBS@ \ @LIBSMI_LDFLAGS@ echld_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) echld_test_LDADD = \ epan/libwireshark.la \ echld/libechld.la \ wsutil/libwsutil.la \ @GLIB_LIBS@ \ @PCAP_LIBS@ \ @SOCKET_LIBS@ \ @NSL_LIBS@ \ @C_ARES_LIBS@ echld_test_DEPENDENCIES = \ echld/libechld.la \ epan/libwireshark.la dumpcap_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) dumpcap_CFLAGS = $(AM_CFLAGS) $(PIE_CFLAGS) dumpcap_LDFLAGS = $(AM_LDFLAGS) $(PIE_LDFLAGS) # Libraries with which to link dumpcap. dumpcap_LDADD = \ caputils/libcaputils.a \ wsutil/libwsutil.la \ @GLIB_LIBS@ \ @PCAP_LIBS@ \ @SOCKET_LIBS@ \ @NSL_LIBS@ \ @SYSTEMCONFIGURATION_FRAMEWORKS@ \ @COREFOUNDATION_FRAMEWORKS@ \ @LIBCAP_LIBS@ \ @LIBNL_LIBS@ # # Build the version string # # FORCE is the portable version of .PHONY FORCE: version.h: FORCE $(AM_V_PERL)$(PERL) $(srcdir)/make-version.pl $(srcdir) # # Build shell scripts by doing variable substitution. # Taken from autoconf 2.13. # editsh = sed -e 's,@''SHELL''@,$(SHELL),g' SUFFIXES = .sh .sh: rm -f $@ $@.tmp $(editsh) $< > $@.tmp && chmod +x $@.tmp && mv $@.tmp $@ services: $(PYTHON) $(srcdir)/tools/make-services.py CLEANFILES = \ *~ \ doxygen-core.tag \ vgcore.* # # We have to remove version.h with "make distclean", as, otherwise, # "make distcheck" fails. We still need to make the tarballs work # even if you do "make distclean" and try to rebuild; that's a work in # progress. # # XXX - "ps.c" is distributed in the source tarballs; why is it in the # list of files removed by "make distclean"? (It's deliberately # included in that list.) # DISTCLEANFILES = \ ps.c \ version.h MAINTAINERCLEANFILES = \ $(GENERATED_FILES) \ Makefile.in \ aclocal.m4 \ compile \ config.h.in \ configure \ depcomp \ install-sh \ ltmain.sh \ missing \ ylwrap EXTRA_DIST = \ .editorconfig \ .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 \ fix \ idl \ image \ ipmap.html \ m4 \ macosx-setup.sh \ macosx-support-lib-patches \ make-version.pl \ manuf \ manuf.tmpl \ pdml2html.xsl \ smi_modules \ text2pcap-scanner.l \ text2pcap.h \ services \ wireshark.desktop \ wireshark-gtk.desktop \ wireshark-mime-package.xml \ wireshark.appdata.xml \ wireshark.pc.in \ wka.tmpl \ CMakeLists.txt \ CMakeListsCustom.txt.example \ cmakeconfig.h.in \ CMakeOptions.txt \ README.cmake \ ConfigureChecks.cmake \ cmake \ version.h.in \ CPackConfig.txt install-exec-hook: if HAVE_DUMPCAP_GROUP chgrp $(DUMPCAP_GROUP) $(DESTDIR)$(bindir)/dumpcap endif if SETCAP_INSTALL $(SETCAP) cap_net_raw,cap_net_admin+ep $(DESTDIR)$(bindir)/dumpcap chmod o-rws $(DESTDIR)$(bindir)/dumpcap else if SETUID_INSTALL chmod o-rws $(DESTDIR)$(bindir)/dumpcap chmod +s $(DESTDIR)$(bindir)/dumpcap endif endif DIST_SUBDIRS = \ capchild \ caputils \ codecs \ doc \ epan \ echld \ ui \ ui/cli \ ui/gtk \ ui/qt \ help \ packaging \ plugins \ randpkt_core \ tools \ wiretap \ wsutil \ extcap \ docbook SUBDIRS = \ tools \ wsutil \ wiretap \ epan \ capchild \ caputils \ @echld_dir@ \ @plugins_dir@ \ packaging \ help \ ui \ @wireshark_SUBDIRS@ \ ui/cli \ randpkt_core \ @extcap_subdir@ \ . \ doc help/faq.txt: $(srcdir)/help/faq.py $(AM_V_GEN)(cd help ; \ $(MAKE) faq.txt ;) 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). # # We use $(datadir). If the desktop doesn't look for them there, # the desktop is broken; the latest XDG Base Directory Specification # at # # http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html # # says # # $XDG_DATA_DIRS defines the preference-ordered set of base directories # to search for data files in addition to the $XDG_DATA_HOME base # directory. The directories in $XDG_DATA_DIRS should be seperated with a # colon ':'. # # If $XDG_DATA_DIRS is either not set or empty, a value equal to # /usr/local/share/:/usr/share/ should be used. # # so: # # if this is configured to install under /usr, that should Just Work, # unless XDG_DATA_DIRS is set incorrectly or the desktop isn't # compliant with the latest version of the spec; # # if this installs under the default /usr/share, that should Just Work, # unless XDG_DATA_DIRS is set incorrectly or the desktop isn't # compliant with the latest version of the spec; # # if this is configured to install somewhere else, whoever configured # it should also have made sure that XDG_DATA_DIRS was set correctly # and, if that doesn't work, the desktop isn't compliant with the # latest version of the spec. # # We install these as part of the standard installation process, just # as, for example, Inkscape does with its icons. See bug 10737. # # Do not use the -T flag to the install command, as it's not portable. # Some versions of install don't support a -T flag at all, and the # 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're not building Wireshark (that being the only desktop app). # install-data-local: if BUILDING_WIRESHARK if NOT_OS_X 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 install -m 644 $(srcdir)/wireshark.appdata.xml $(DESTDIR)$(datadir)/appdata/wireshark.appdata.xml mkdir -p $(DESTDIR)$(datadir)/applications if test x$(DESKTOP_FILE_INSTALL) != x ; then \ $(DESKTOP_FILE_INSTALL) --dir $(DESTDIR)$(datadir)/applications $(srcdir)/wireshark.desktop $(srcdir)/wireshark-gtk.desktop ; \ else \ install -m 644 $(srcdir)/wireshark.desktop $(srcdir)/wireshark-gtk.desktop $(DESTDIR)$(datadir)/applications; \ fi for size in 16 24 32 48 64 128 256; \ do \ mkdir -p $(DESTDIR)$(datadir)/icons/hicolor/$${size}x$${size}/apps ; \ install -m 644 $(srcdir)/image/wsicon$${size}.png $(DESTDIR)$(datadir)/icons/hicolor/$${size}x$${size}/apps/wireshark.png ; \ mkdir -p $(DESTDIR)$(datadir)/icons/hicolor/$${size}x$${size}/mimetypes ; \ install -m 644 $(srcdir)/image/WiresharkDoc-$${size}.png $(DESTDIR)$(datadir)/icons/hicolor/$${size}x$${size}/mimetypes/application-wireshark-doc.png ; \ done mkdir -p $(DESTDIR)$(datadir)/icons/hicolor/scalable/apps install -m 644 $(srcdir)/image/wsicon.svg $(DESTDIR)$(datadir)/icons/hicolor/scalable/apps/wireshark.svg endif endif uninstall-local: if BUILDING_WIRESHARK if NOT_OS_X rm -f $(DESTDIR)$(datadir)/appdata/wireshark.appdata.xml rm -f $(DESTDIR)$(datadir)/applications/wireshark.desktop rm -f $(DESTDIR)$(datadir)/applications/wireshark-gtk.desktop rm -f $(DESTDIR)$(datadir)/mime/packages/wireshark.xml for size in 16 24 32 48 64 128 256; \ do \ rm -f $(DESTDIR)$(datadir)/icons/hicolor/$${size}x$${size}/apps/wireshark.png ; \ rm -f $(DESTDIR)$(datadir)/icons/hicolor/$${size}x$${size}/mimetypes/application-wireshark-doc.png ; \ done rm -f $(DESTDIR)$(datadir)/icons/hicolor/scalable/apps/wireshark.svg endif endif install-data-hook: update-databases-and-caches-install uninstall-hook: update-databases-and-caches-uninstall # # XXX - which of this stuff can, and should, we do ourselves? # # If we're "installing" under $(DESTDIR) as part of the process of # building a package, we probably don't need to, and shouldn't, do # any of this. # # If we're installing for use, we may need to do some of this; which # of them do we need to tell where to search, especially if we're # installing somewhere other than under /usr or /usr/local? # # What if we're installing in the user's home directory? # # What if we're installing under /opt? # # We only need to run ldconfig on systems where it's necessary in order # to update a shared library cache to know about our shared libraries. # # We only need to run update-desktop-database and update-mime-database # on freedesktop.org desktops. # # 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're not building Wireshark (that being the only desktop app). # update-databases-and-caches-common: if BUILDING_WIRESHARK if NOT_OS_X @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\"" @echo "You may need to run \"gtk-update-icon-cache -f -t $(datadir)/icons/hicolor\"" endif endif update-databases-and-caches-install: update-databases-and-caches-common update-databases-and-caches-uninstall: update-databases-and-caches-common # Used by svr4-package and osx-package # We load top_stagedir with an absolute path so that libtool doesn't freak. top_stagedir=$(abs_top_builddir)/packaging/staging stagedir=$(top_stagedir)/$(PACKAGE).inst host_cpu=@host_cpu@ host_os=@host_os@ solaris-package: svr4-package svr4-package: $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) @if test x$(HAVE_SVR4_PACKAGING) = xyes ; then \ rm -rf $(stagedir) ; \ $(MAKE) DESTDIR=$(stagedir) install; \ $(srcdir)/packaging/svr4/mkpkg \ $(PACKAGE) \ $(PACKAGE)-$(VERSION)-$(host_os)-$(host_cpu)-local \ $(prefix) \ $(top_stagedir) ; \ else \ echo "Error: SVR4 packaging tools not found." ; \ echo "Package build abandoned." ; \ fi rpm_topdir=`cd $(top_builddir) && pwd`/packaging/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 # XXX - This assumes we're building from the source directory. osx-app: $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) packaging/macosx/Info.plist @if test x$(HAVE_OSX_PACKAGING) = xyes ; then \ rm -rf $(stagedir) ; \ $(MAKE) DESTDIR=$(stagedir) install; \ cd $(srcdir)/packaging/macosx ; \ ./osx-app.sh @OSX_APP_FLAGS@ \ --create-bundle \ --binary-path ../staging/$(PACKAGE).inst$(bindir) \ --plugin-path ../staging/$(PACKAGE).inst$(plugindir) \ --extcap-path ../staging/$(PACKAGE).inst$(extcapdir) \ --library-path ../staging/$(PACKAGE).inst$(libdir) ; \ else \ echo "Error: OS X packaging tools not found." ; \ echo "Package build abandoned." ; \ fi packaging/macosx/COPYING.txt: COPYING (cd packaging/macosx ; \ $(MAKE) COPYING.txt ;) osx-package: osx-app packaging/macosx/COPYING.txt @if test x$(HAVE_OSX_PACKAGING) = xyes ; then \ cd $(srcdir)/packaging/macosx ; \ chmod +x ./osx-dmg.sh ; \ ./osx-dmg.sh @OSX_DMG_FLAGS@ ; \ fi osx-install: osx-app @if test x$(HAVE_OSX_PACKAGING) = xyes ; then \ echo "Copying Wireshark.app to /Applications" ; \ cp -pr $(srcdir)/packaging/macosx/Wireshark.app /Applications ; \ fi test-programs: cd epan && $(MAKE) $@ clean-local: rm -rf $(top_stagedir) dumpabi: $(MAKE) -C wiretap dumpabi-libwiretap $(MAKE) -C epan dumpabi-libwireshark $(MAKE) -C wsutil dumpabi-libwsutil checkapi_local: $(PERL) $(top_srcdir)/tools/checkAPIs.pl -build \ -sourcedir=$(srcdir) \ $(TSHARK_TAP_SRC) \ $(wireshark_gtk_SOURCES) # $(EXTRA_wireshark_gtk_SOURCES) checkapi: checkapi_local cd wiretap && $(MAKE) checkapi cd codecs && $(MAKE) checkapi cd capchild && $(MAKE) checkapi cd caputils && $(MAKE) checkapi cd ui && $(MAKE) checkapi cd ui/gtk && $(MAKE) checkapi ## cd epan && $(MAKE) checkapi cd epan/crypt && $(MAKE) checkapi cd epan/dfilter && $(MAKE) checkapi ## cd epan/ftypes && $(MAKE) checkapi cd epan/wslua && $(MAKE) checkapi cd epan/dissectors && $(MAKE) checkapi cd plugins && $(MAKE) checkapi cd randpkt_core && $(MAKE) checkapi cd wsutil && $(MAKE) checkapi wsar_html: doxygen.cfg doxygen_global.cfg FORCE if HAVE_DOXYGEN rm -rf wsar_html cd epan && $(MAKE) $@ cd capchild && $(MAKE) $@ cd caputils && $(MAKE) $@ cd randpkt_core && $(MAKE) $@ cd ui && $(MAKE) $@ (umask 022 ; $(DOXYGEN) doxygen.cfg) endif wsar-zip: wsar_html if HAVE_DOXYGEN rm -f wsar_html.zip zip -rq wsar_html.zip wsar_html endif gen-authors: #Generate list of AUTHORS (Name + E-Mail) sort by number of commit git --no-pager shortlog -se HEAD > $(top_srcdir)/AUTHORS.git $(PERL) $(top_srcdir)/tools/generate_authors.pl $(top_srcdir)/AUTHORS.src $(top_srcdir)/AUTHORS.git > $(top_srcdir)/AUTHORS