3 # Wireshark - Network traffic analyzer
4 # By Gerald Combs <gerald@wireshark.org>
5 # Copyright 2004 Gerald Combs
7 # This program is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU General Public License
9 # as published by the Free Software Foundation; either version 2
10 # of the License, or (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 include $(top_srcdir)/Makefile.am.inc
23 AM_CPPFLAGS = $(INCLUDEDIRS) -I$(top_srcdir)/epan $(WS_CPPFLAGS) \
24 $(GLIB_CFLAGS) $(LIBGNUTLS_CFLAGS) $(LIBGCRYPT_CFLAGS) \
25 $(LIBGEOIP_CFLAGS) $(KRB5_CFLAGS) $(LIBXML2_CFLAGS)
29 # "BUILT_SOURCES" are built before any "make all" or "make check" targets.
33 BUILT_SOURCES = $(BUILT_C_FILES) $(BUILT_HEADER_FILES)
35 # Header files generated from source files.
36 GENERATED_HEADER_FILES = \
39 # C source files generated from source files.
44 # All the generated files.
45 GENERATED_FILES = $(GENERATED_HEADER_FILES) $(GENERATED_C_FILES)
48 # PIDL-generated DCE RPC dissectors without warnings.
50 PIDL_DISSECTOR_SRC = \
51 packet-dcerpc-atsvc.c \
52 packet-dcerpc-budb.c \
53 packet-dcerpc-butc.c \
54 packet-dcerpc-clusapi.c \
56 packet-dcerpc-dnsserver.c \
57 packet-dcerpc-drsuapi.c \
58 packet-dcerpc-dssetup.c \
60 packet-dcerpc-eventlog.c \
61 packet-dcerpc-frstrans.c \
62 packet-dcerpc-initshutdown.c \
64 packet-dcerpc-mapi.c \
65 packet-dcerpc-mdssvc.c \
66 packet-dcerpc-misc.c \
67 packet-dcerpc-nspi.c \
69 packet-dcerpc-srvsvc.c \
70 packet-dcerpc-winreg.c \
71 packet-dcerpc-witness.c \
72 packet-dcerpc-wkssvc.c \
73 packet-dcerpc-wzcsvc.c
76 # Headers for PIDL-generated dissectors.
78 PIDL_DISSECTOR_INCLUDES = \
79 packet-dcerpc-atsvc.h \
80 packet-dcerpc-clusapi.h \
82 packet-dcerpc-dssetup.h \
83 packet-dcerpc-drsuapi.h \
85 packet-dcerpc-eventlog.h \
86 packet-dcerpc-initshutdown.h \
88 packet-dcerpc-mapi.h \
89 packet-dcerpc-mdssvc.h \
90 packet-dcerpc-misc.h \
91 packet-dcerpc-nspi.h \
93 packet-dcerpc-srvsvc.h \
94 packet-dcerpc-winreg.h \
95 packet-dcerpc-witness.h \
96 packet-dcerpc-wkssvc.h \
97 packet-dcerpc-wzcsvc.h \
98 packet-dcerpc-frstrans.h
101 # asn2wrs-generated ASN.1 dissectors without warnings.
103 ASN1_DISSECTOR_SRC = \
114 packet-charging_ase.c \
129 packet-HI2Operations.c \
150 packet-logotypecertextn.c \
158 packet-mpeg-audio.c \
162 packet-novell_pkis.c \
163 packet-ns_cert_exts.c \
173 packet-pkix1explicit.c \
174 packet-pkix1implicit.c \
177 packet-pkixqualified.c \
203 packet-wlancertextn.c \
211 # idl2wrs-generated CORBA IDL dissectors without warnings.
213 CORBA_IDL_DISSECTOR_SRC = \
214 packet-coseventcomm.c
217 # asn2wrs-generated ASN.1 dissectors with warnings.
219 DIRTY_ASN1_DISSECTOR_SRC = \
220 $(CUSTOM_DIRTY_ASN1_DISSECTOR_SRC)
223 # idl2wrs-generated CORBA IDL dissectors with warnings.
225 DIRTY_CORBA_IDL_DISSECTOR_SRC = \
231 FILE_DISSECTOR_SRC = \
242 # Dissectors without warnings.
245 packet-2dparityfec.c \
246 packet-3com-njack.c \
253 packet-aastra-aasp.c \
260 packet-adb_service.c \
261 packet-adwin-config.c \
284 packet-app-pkix-cert.c \
288 packet-armagetronad.c \
294 packet-aruba-papi.c \
326 packet-bittorrent.c \
334 packet-bootparams.c \
348 packet-btbredr_rf.c \
356 packet-bthci_vendor.c \
372 packet-calcappprotocol.c \
377 packet-catapult-dct2000.c \
382 packet-cell_broadcast.c \
395 packet-cisco-erspan.c \
396 packet-cisco-fp-mim.c \
397 packet-cisco-marker.c \
398 packet-cisco-metadata.c \
401 packet-cisco-ttag.c \
402 packet-cisco-wids.c \
403 packet-classicstun.c \
412 packet-componentstatus.c \
414 packet-corosync-totemnet.c \
415 packet-corosync-totemsrp.c \
422 packet-csm-encaps.c \
433 packet-dcerpc-bossvr.c \
434 packet-dcerpc-browser.c \
435 packet-dcerpc-cds_clerkserver.c \
436 packet-dcerpc-cds_solicit.c \
437 packet-dcerpc-conv.c \
438 packet-dcerpc-cprpc_server.c \
439 packet-dcerpc-dce122.c \
440 packet-dcerpc-dtsprovider.c \
441 packet-dcerpc-dtsstime_req.c \
442 packet-dcerpc-epm.c \
443 packet-dcerpc-fileexp.c \
444 packet-dcerpc-fldb.c \
445 packet-dcerpc-frsapi.c \
446 packet-dcerpc-frsrpc.c \
447 packet-dcerpc-ftserver.c \
448 packet-dcerpc-icl_rpc.c \
449 packet-dcerpc-krb5rpc.c \
450 packet-dcerpc-llb.c \
451 packet-dcerpc-messenger.c \
452 packet-dcerpc-mgmt.c \
453 packet-dcerpc-ndr.c \
454 packet-dcerpc-netlogon.c \
455 packet-dcerpc-pnp.c \
456 packet-dcerpc-rdaclif.c \
457 packet-dcerpc-rep_proc.c \
458 packet-dcerpc-roverride.c \
459 packet-dcerpc-rpriv.c \
460 packet-dcerpc-rras.c \
461 packet-dcerpc-rs_acct.c \
462 packet-dcerpc-rs_attr.c \
463 packet-dcerpc-rs_attr_schema.c \
464 packet-dcerpc-rs_bind.c \
465 packet-dcerpc-rs_misc.c \
466 packet-dcerpc-rs_pgo.c \
467 packet-dcerpc-rs_plcy.c \
468 packet-dcerpc-rs_prop_acct.c \
469 packet-dcerpc-rs_prop_acl.c \
470 packet-dcerpc-rs_prop_attr.c \
471 packet-dcerpc-rs_prop_pgo.c \
472 packet-dcerpc-rs_prop_plcy.c \
473 packet-dcerpc-rs_pwd_mgmt.c \
474 packet-dcerpc-rs_repadm.c \
475 packet-dcerpc-rs_replist.c \
476 packet-dcerpc-rs_repmgr.c \
477 packet-dcerpc-rs_unix.c \
478 packet-dcerpc-rsec_login.c \
479 packet-dcerpc-samr.c \
480 packet-dcerpc-secidmap.c \
481 packet-dcerpc-spoolss.c \
482 packet-dcerpc-svcctl.c \
483 packet-dcerpc-tapi.c \
484 packet-dcerpc-tkn4int.c \
485 packet-dcerpc-trksvr.c \
486 packet-dcerpc-ubikdisk.c \
487 packet-dcerpc-ubikvote.c \
488 packet-dcerpc-update.c \
491 packet-dcom-dispatch.c \
493 packet-dcom-remact.c \
494 packet-dcom-remunkn.c \
495 packet-dcom-sysact.c \
503 packet-dhcp-failover.c \
506 packet-diameter_3gpp.c \
507 packet-diffserv-mpls-common.c \
520 packet-dpnss-link.c \
533 packet-dvb-data-mpe.c \
557 packet-elasticsearch.c \
565 packet-epl-profile-parser.c \
578 packet-etsi_card_app_toolkit.c \
582 packet-exported_pdu.c \
611 packet-fmp_notify.c \
613 packet-force10-oui.c \
618 packet-fractalgeneratorprotocol.c \
634 packet-gluster_cli.c \
635 packet-gluster_pmap.c \
638 packet-glusterfs_hndsk.c \
641 packet-gmr1_common.c \
653 packet-gsm_a_bssmap.c \
654 packet-gsm_a_common.c \
655 packet-gsm_a_dtap.c \
659 packet-gsm_abis_om2000.c \
660 packet-gsm_abis_oml.c \
661 packet-gsm_abis_tfp.c \
662 packet-gsm_abis_pgsl.c \
663 packet-gsm_bsslap.c \
664 packet-gsm_bssmap_le.c \
668 packet-gsm_rlcmac.c \
671 packet-gsm_sms_ud.c \
674 packet-gsmtap_log.c \
683 packet-h221_nonstd.c \
689 packet-h248_annex_c.c \
690 packet-h248_annex_e.c \
691 packet-h248_q1950.c \
712 packet-homeplug-av.c \
721 packet-hsr-prp-supervision.c \
726 packet-http-urlencoded.c \
743 packet-ieee80211-netmon.c \
744 packet-ieee80211-prism.c \
745 packet-ieee80211-radio.c \
746 packet-ieee80211-radiotap-iter.c\
747 packet-ieee80211-radiotap.c \
748 packet-ieee80211-wlancap.c \
750 packet-ieee802154.c \
751 packet-ieee8021ah.c \
760 packet-indigocare-icall.c \
761 packet-indigocare-netrix.c \
762 packet-infiniband.c \
763 packet-infiniband_sdp.c \
773 packet-ipmi-bridge.c \
774 packet-ipmi-chassis.c \
775 packet-ipmi-picmg.c \
777 packet-ipmi-session.c \
778 packet-ipmi-storage.c \
779 packet-ipmi-trace.c \
780 packet-ipmi-transport.c \
782 packet-ipmi-update.c \
793 packet-ipvs-syncd.c \
803 packet-isis-hello.c \
821 packet-iwarp-ddp-rdmap.c\
823 packet-ixiatrailer.c \
824 packet-ixveriwave.c \
837 packet-kingfisher.c \
867 packet-lge_monitor.c \
881 packet-logcat-text.c \
899 packet-mac-lte-framed.c \
901 packet-maccontrol.c \
915 packet-messageanalyzer.c \
921 packet-mime-encap.c \
938 packet-mpeg-descriptor.c \
939 packet-mpeg-dsmcc.c \
947 packet-mplstp-oam.c \
948 packet-mpls-y1711.c \
962 packet-msn-messenger.c \
976 packet-nasdaq-itch.c \
977 packet-nasdaq-soup.c \
993 packet-netanalyzer.c \
996 packet-netgear-ensemble.c \
998 packet-netlink-generic.c \
999 packet-netlink-netfilter.c \
1000 packet-netlink-nl80211.c \
1001 packet-netlink-route.c \
1002 packet-netlink-sock_diag.c \
1005 packet-netperfmeter.c \
1020 packet-nordic_ble.c \
1034 packet-nvme-rdma.c \
1045 packet-omron-fins.c \
1051 packet-openflow_v1.c \
1052 packet-openflow_v4.c \
1053 packet-openflow_v5.c \
1054 packet-openflow_v6.c \
1055 packet-opensafety.c \
1056 packet-openthread.c \
1062 packet-osi-options.c \
1071 packet-packetlogger.c \
1075 packet-pcap_pktdata.c \
1076 packet-pcapng_block.c \
1083 packet-peekremote.c \
1090 packet-pingpongprotocol.c \
1099 packet-ppi-antenna.c \
1100 packet-ppi-geolocation-common.c \
1102 packet-ppi-sensor.c \
1103 packet-ppi-vector.c \
1114 packet-pw-cesopsn.c \
1115 packet-pw-common.c \
1130 packet-quakeworld.c \
1133 packet-radius_packetcable.c \
1140 packet-redbackli.c \
1141 packet-reload-framing.c \
1143 packet-retix-bpdu.c \
1145 packet-rfid-felica.c \
1146 packet-rfid-mifare.c \
1147 packet-rfid-pn532.c \
1148 packet-rfid-pn532-hci.c \
1186 packet-rtp-events.c \
1198 packet-s7comm_szl_ids.c \
1208 packet-scriptingservice.c \
1222 packet-sercosiii.c \
1229 packet-simulcrypt.c \
1237 packet-slowprotocols.c \
1239 packet-smb-browse.c \
1240 packet-smb-common.c \
1241 packet-smb-logon.c \
1242 packet-smb-mailslot.c \
1244 packet-smb-sidsnooping.c \
1245 packet-smb-direct.c \
1254 packet-sndcp-xid.c \
1257 packet-socketcan.c \
1259 packet-solaredge.c \
1260 packet-soupbintcp.c \
1271 packet-ssl-utils.c \
1274 packet-stanag4607.c \
1276 packet-stat-notify.c \
1285 packet-synphasor.c \
1286 packet-sysdig-event.c \
1298 packet-teamspeak2.c \
1299 packet-teimanagement.c \
1304 packet-text-media.c \
1312 packet-tivoconnect.c \
1325 packet-turbocell.c \
1326 packet-turnchannel.c \
1334 packet-ubertooth.c \
1348 packet-usb-audio.c \
1355 packet-usb-masstorage.c \
1356 packet-usb-video.c \
1359 packet-user_encap.c \
1380 packet-vssmonitoring.c \
1388 packet-waveagent.c \
1392 packet-websocket.c \
1393 packet-wfleet-hdlc.c \
1397 packet-wifi-display.c \
1399 packet-windows-common.c \
1416 packet-xip-serval.c \
1419 packet-xmpp-conference.c \
1420 packet-xmpp-core.c \
1421 packet-xmpp-gtalk.c \
1422 packet-xmpp-jingle.c \
1423 packet-xmpp-other.c \
1424 packet-xmpp-utils.c \
1438 packet-zbee-nwk-gp.c \
1439 packet-zbee-security.c \
1441 packet-zbee-zcl-closures.c \
1442 packet-zbee-zcl-general.c \
1443 packet-zbee-zcl-ha.c \
1444 packet-zbee-zcl-hvac.c \
1445 packet-zbee-zcl-lighting.c \
1446 packet-zbee-zcl-meas-sensing.c \
1447 packet-zbee-zcl-misc.c \
1448 packet-zbee-zcl-sas.c \
1449 packet-zbee-zcl-se.c \
1451 packet-zbee-zdp-binding.c \
1452 packet-zbee-zdp-discovery.c \
1453 packet-zbee-zdp-management.c \
1459 $(CUSTOM_DISSECTOR_SRC)
1462 # Headers for file dissectors.
1464 FILE_DISSECTOR_INCLUDES = \
1468 # Headers for dissectors.
1470 DISSECTOR_INCLUDES = \
1471 $(PIDL_DISSECTOR_INCLUDES) \
1477 packet-adb_service.h \
1482 packet-ansi_tcap.h \
1491 packet-bluetooth.h \
1498 packet-bthci_acl.h \
1499 packet-bthci_cmd.h \
1500 packet-bthci_evt.h \
1501 packet-bthci_sco.h \
1509 packet-cell_broadcast.h \
1510 packet-charging_ase.h \
1513 packet-cipsafety.h \
1514 packet-clearcase.h \
1526 packet-dcerpc-browser.h \
1527 packet-dcerpc-budb.h \
1528 packet-dcerpc-butc.h \
1529 packet-dcerpc-dce122.h \
1530 packet-dcerpc-dcom.h \
1531 packet-dcerpc-dnsserver.h \
1532 packet-dcerpc-frsapi.h \
1533 packet-dcerpc-frsrpc.h \
1534 packet-dcerpc-netlogon.h \
1535 packet-dcerpc-nt.h \
1536 packet-dcerpc-pnp.h \
1537 packet-dcerpc-rras.h \
1538 packet-dcerpc-samr.h \
1539 packet-dcerpc-spoolss.h \
1540 packet-dcerpc-svcctl.h \
1541 packet-dcerpc-tapi.h \
1543 packet-dcom-dispatch.h \
1545 packet-diameter_3gpp.h \
1546 packet-diffserv-mpls-common.h \
1582 packet-gmr1_common.h \
1587 packet-gsm_a_common.h \
1590 packet-gsm_rlcmac.h \
1613 packet-ieee80211.h \
1614 packet-ieee80211-radio.h \
1615 packet-ieee80211-radiotap-iter.h \
1616 packet-ieee80211-radiotap-defs.h \
1617 packet-ieee802154.h \
1623 packet-infiniband.h \
1633 packet-iwarp-ddp-rdmap.h \
1649 packet-logotypecertextn.h \
1661 packet-mpeg-descriptor.h \
1663 packet-mpeg-sect.h \
1686 packet-opensafety.h \
1688 packet-osi-options.h \
1693 packet-pcap_pktdata.h \
1699 packet-pkix1explicit.h \
1700 packet-pkix1implicit.h \
1702 packet-pkixproxy.h \
1703 packet-pkixqualified.h \
1708 packet-ppi-geolocation-common.h \
1714 packet-pw-common.h \
1727 packet-rmt-common.h \
1737 packet-rtp-events.h \
1745 packet-s7comm_szl_ids.h \
1762 packet-smb-browse.h \
1763 packet-smb-common.h \
1764 packet-smb-mailslot.h \
1766 packet-smb-sidsnooping.h \
1770 packet-socketcan.h \
1776 packet-ssl-utils.h \
1778 packet-stat-notify.h \
1795 packet-ubertooth.h \
1806 packet-windows-common.h \
1807 packet-wlancertextn.h \
1813 packet-x11-keysymdef.h \
1815 x11-declarations.h \
1816 x11-register-info.h \
1817 x11-extension-implementation.h \
1818 x11-extension-errors.h \
1819 x11-glx-render-enum.h \
1826 packet-xmpp-conference.h \
1827 packet-xmpp-core.h \
1828 packet-xmpp-gtalk.h \
1830 packet-xmpp-jingle.h \
1831 packet-xmpp-other.h \
1832 packet-xmpp-utils.h \
1840 packet-zbee-security.h \
1844 read_keytab_file.h \
1846 $(GENERATED_HEADER_FILES) \
1847 $(CUSTOM_HEADER_FILES)
1849 # Dissector helpers. They're included in the source files in this
1850 # directory, but they're not dissectors themselves, i.e. they're not
1851 # used to generate "register.c").
1852 DISSECTOR_SUPPORT_SRC = \
1854 packet-dcerpc-nt.c \
1859 ALL_DISSECTORS_SRC = \
1861 $(FILE_DISSECTOR_SRC) \
1862 $(PIDL_DISSECTOR_SRC) \
1863 $(ASN1_DISSECTOR_SRC) \
1864 $(DIRTY_ASN1_DISSECTOR_SRC) \
1865 $(CORBA_IDL_DISSECTOR_SRC) \
1866 $(DIRTY_CORBA_IDL_DISSECTOR_SRC)
1868 noinst_LTLIBRARIES = libdirtydissectors.la libfiledissectors.la libdissectors.la
1870 libdirtydissectors_la_SOURCES = \
1871 $(DIRTY_ASN1_DISSECTOR_SRC) \
1872 $(DIRTY_CORBA_IDL_DISSECTOR_SRC)
1874 libdirtydissectors_la_CFLAGS = $(GENERATED_CFLAGS)
1876 libfiledissectors_la_SOURCES = \
1877 $(FILE_DISSECTOR_SRC)
1879 libdissectors_la_SOURCES = \
1881 $(ASN1_DISSECTOR_SRC) \
1882 $(CORBA_IDL_DISSECTOR_SRC) \
1883 $(PIDL_DISSECTOR_SRC) \
1884 $(DISSECTOR_SUPPORT_SRC)
1886 subpkgincludedir = $(pkgincludedir)/epan/dissectors
1888 subpkginclude_HEADERS = \
1889 $(DISSECTOR_INCLUDES)
1891 # this target needed for distribution only
1893 $(FILE_DISSECTOR_INCLUDES)
1895 # include asn1 in the source tarball. But nothing to build...
1896 DIST_SUBDIRS = asn1 dcerpc
1903 packet-ncp2222.inc \
1907 CMakeListsCustom.txt.example \
1910 packet-ncp2222.c : $(top_srcdir)/tools/ncp2222.py
1911 $(AM_V_python)$(PYTHON) $(top_srcdir)/tools/ncp2222.py -o $@
1913 # Target to rebuild the X11 dissector header files.
1914 # See README.X11 before using this--it requires the xcb and mesa source.
1915 x11-dissector: $(top_srcdir)/tools/process-x11-fields.pl $(srcdir)/x11-fields $(top_srcdir)/tools/process-x11-xcb.pl
1916 $(PERL) $(top_srcdir)/tools/process-x11-fields.pl $(srcdir) < $(srcdir)/x11-fields
1917 $(PERL) $(top_srcdir)/tools/process-x11-xcb.pl $(srcdir)
1920 # Build register.c, which contains a function register_all_protocols()
1921 # that calls the register routines for all protocols and a function
1922 # register_all_protocol_handoffs() that calls the handoff registration
1923 # routines for all protocols.
1925 # We do this by scanning through sources. If that turns out to be too slow,
1926 # maybe we could just require every .o file to have an register routine
1927 # of a given name (packet-aarp.o -> proto_register_aarp, etc.).
1929 # Formatting conventions: The name of the proto_register_* routines an
1930 # proto_reg_handoff_* routines must start in column zero, or must be
1931 # preceded only by "void " starting in column zero, and must not be
1934 # ALL_DISSECTORS_SRC is assumed to have all the files that need to be scanned.
1936 # For some unknown reason, having a big "for" loop in the Makefile
1937 # to scan all the files doesn't work with some "make"s; they seem to
1938 # pass only the first few names in the list to the shell, for some
1941 # Therefore, we use a script to generate the register.c file.
1942 # The first argument is the directory in which the source files live.
1943 # The second argument is "dissectors", to indicate that we should build
1944 # a register.c file for libwireshark.
1945 # All subsequent arguments are the files to scan.
1947 register.c: $(plugin_src) $(ALL_DISSECTORS_SRC) Custom.common \
1948 $(top_srcdir)/tools/make-dissector-reg.py
1949 @echo Making register.c ; \
1950 $(PYTHON) $(top_srcdir)/tools/make-dissector-reg.py $(srcdir) \
1951 dissectors $(ALL_DISSECTORS_SRC) ;
1953 # Currently register.c can be included in the distribution because
1954 # we always build all protocol dissectors. We used to have to check
1955 # whether or not to build the snmp dissector. If we again need to
1956 # variably build something, making register.c non-portable, uncomment
1957 # the dist-hook line below.
1959 # Oh, yuk. We don't want to include "register.c" in the distribution, as
1960 # its contents depend on the configuration, and therefore we want it
1961 # to be built when the first "make" is done; however, Automake insists
1962 # on putting *all* source into the distribution.
1964 # We work around this by having a "dist-hook" rule that deletes
1965 # "register.c", so that "dist" won't pick it up.
1968 # @rm -f $(distdir)/register.c
1970 # XXX - We may want to add register-cache.pkl to the distribution at
1971 # some point. It should be portable across architectures.
1975 libdirtydissectors.a \
1976 libdirtydissectors.la \
1978 register-cache.pkl \
1979 $(GENERATED_HEADER_FILES) \
1985 MAINTAINERCLEANFILES = \
1986 $(GENERATED_FILES) \
1990 $(PERL) $(top_srcdir)/tools/checkAPIs.pl -g abort -g termoutput -build \
1991 -sourcedir=$(srcdir) \
1992 $(ALL_DISSECTORS_SRC) $(DISSECTOR_INCLUDES) $(DISSECTOR_SUPPORT_SRC)