Moved dissector for UNICODE_STRING structure from packet-dcerpc-samr.c to packet...
[obnox/wireshark/wip.git] / Makefile.am
index 5445f895488c6e664f980df9b93eced520f73ab1..10e7cb24b0c3eace0b4d710b7f2b4661ebbce276 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile.am
 # Automake file for Ethereal
 #
-# $Id: Makefile.am,v 1.341 2001/07/02 09:23:02 guy Exp $
+# $Id: Makefile.am,v 1.414 2002/03/04 22:39:21 guy Exp $
 #
 # Ethereal - Network traffic analyzer
 # By Gerald Combs <gerald@ethereal.com>
@@ -60,18 +60,22 @@ ACLOCAL_AMFLAGS = `./aclocal-flags`
 # automake will arrange that the Makefile define it as the union of all
 # the "man{section}_MANS" variables.
 #
-bin_PROGRAMS = @ethereal_bin@ @editcap_bin@ @tethereal_bin@ @dftest_bin@ @randpkt_bin@ @text2pcap_bin@
-man1_MANS = @ethereal_man@ @editcap_man@ @tethereal_man@ @text2pcap_man@
+bin_PROGRAMS = @ethereal_bin@ @editcap_bin@ @mergecap_bin@ @tethereal_bin@ @dftest_bin@ @randpkt_bin@ @text2pcap_bin@
+bin_SCRIPTS = @idl2eth_bin@
+man1_MANS = @ethereal_man@ @editcap_man@ @mergecap_man@ @tethereal_man@ @text2pcap_man@ @idl2eth_man@
 man_MANS = 
 
-EXTRA_PROGRAMS = ethereal ethereal_static tethereal tethereal_static editcap dftest text2pcap
+EXTRA_PROGRAMS = ethereal ethereal_static tethereal tethereal_static editcap mergecap dftest text2pcap
+EXTRA_SCRIPTS = idl2eth
 
-sysconf_DATA = manuf
+sysconf_DATA = manuf dictionary.dtd dictionary.xml mobileipv4.xml \
+       nasreq.xml sunping.xml
 
 DISSECTOR_SRC = \
        packet-aarp.c  \
        packet-afs.c   \
        packet-aim.c   \
+       packet-airopeek.c \
        packet-arp.c   \
        packet-ascend.c\
        packet-atalk.c \
@@ -79,12 +83,12 @@ DISSECTOR_SRC = \
        packet-auto_rp.c   \
        packet-bacapp.c   \
        packet-bacnet.c   \
+       packet-beep.c \
        packet-bgp.c   \
        packet-bootp.c \
        packet-bootparams.c \
        packet-bpdu.c  \
        packet-bvlc.c \
-       packet-bxxp.c \
        packet-cdp.c   \
        packet-cgmp.c  \
        packet-chdlc.c  \
@@ -94,12 +98,30 @@ DISSECTOR_SRC = \
        packet-cups.c  \
        packet-data.c  \
        packet-dcerpc.c  \
+       packet-dcerpc-conv.c  \
+       packet-dcerpc-dfs.c \
+       packet-dcerpc-epm.c  \
+       packet-dcerpc-lsa.c \
+       packet-dcerpc-mgmt.c  \
+       packet-dcerpc-ndr.c  \
+       packet-dcerpc-netlogon.c \
+       packet-dcerpc-oxid.c  \
+       packet-dcerpc-reg.c \
+       packet-dcerpc-remact.c  \
+       packet-dcerpc-samr.c \
+       packet-dcerpc-spoolss.c \
+       packet-dcerpc-srvsvc.c \
+       packet-dcerpc-wkssvc.c \
        packet-ddtp.c  \
        packet-dec-bpdu.c \
+       packet-dhcpv6.c \
        packet-diameter.c \
+       packet-dlsw.c  \
        packet-dns.c   \
        packet-dsi.c   \
        packet-dvmrp.c \
+       packet-eap.c \
+       packet-eapol.c \
        packet-eigrp.c \
        packet-esis.c  \
        packet-eth.c   \
@@ -109,6 +131,7 @@ DISSECTOR_SRC = \
        packet-frame.c  \
        packet-ftp.c   \
        packet-giop.c  \
+       packet-gmrp.c \
        packet-gnutella.c \
        packet-gre.c   \
        packet-gtp.c   \
@@ -118,6 +141,8 @@ DISSECTOR_SRC = \
        packet-hclnfsd.c  \
        packet-hsrp.c  \
        packet-http.c  \
+       packet-iapp.c  \
+       packet-icap.c  \
        packet-icmpv6.c\
        packet-icp.c   \
        packet-icq.c   \
@@ -154,21 +179,26 @@ DISSECTOR_SRC = \
        packet-lmi.c   \
        packet-lpd.c   \
        packet-m2pa.c  \
+       packet-m2tp.c  \
        packet-m3ua.c  \
        packet-mapi.c  \
        packet-mbtcp.c \
        packet-mip.c  \
+       packet-mmse.c  \
        packet-mount.c \
        packet-mpeg1.c  \
        packet-mpls.c \
        packet-mrdisc.c \
+       packet-msdp.c  \
        packet-msnip.c \
        packet-msproxy.c \
+       packet-mtp2.c \
        packet-mtp3.c \
        packet-nbipx.c \
        packet-nbns.c  \
        packet-ncp.c   \
        packet-ncp2222.c   \
+       packet-ndmp.c  \
        packet-netbios.c \
        packet-nfs.c   \
        packet-nisplus.c \
@@ -179,17 +209,23 @@ DISSECTOR_SRC = \
        packet-osi.c   \
        packet-osi-options.c \
        packet-ospf.c  \
+       packet-pcnfsd.c \
+       packet-pflog.c \
+       packet-pgm.c   \
        packet-pim.c   \
        packet-pop.c   \
        packet-portmap.c   \
        packet-ppp.c   \
        packet-pppoe.c \
        packet-pptp.c  \
+       packet-prism.c \
        packet-q2931.c \
        packet-q931.c  \
+       packet-qllc.c  \
        packet-quake.c \
        packet-quakeworld.c \
        packet-quake2.c \
+       packet-quake3.c \
        packet-radius.c\
        packet-ranap.c \
        packet-raw.c   \
@@ -206,9 +242,13 @@ DISSECTOR_SRC = \
        packet-rwall.c \
        packet-rx.c  \
        packet-sap.c   \
-       packet-sctp.c   \
+       packet-sccp.c  \
+       packet-scsi.c  \
+       packet-sctp.c  \
        packet-sdp.c   \
        packet-sip.c   \
+       packet-skinny.c   \
+       packet-slimp3.c   \
        packet-sll.c   \
        packet-smb.c   \
        packet-smb-browse.c \
@@ -216,16 +256,19 @@ DISSECTOR_SRC = \
        packet-smb-logon.c \
        packet-smb-mailslot.c \
        packet-smb-pipe.c \
+       packet-smpp.c \
        packet-smtp.c \
        packet-sna.c   \
+       packet-snaeth.c \
        packet-snmp.c   \
        packet-socks.c \
        packet-spray.c \
        packet-srvloc.c \
        packet-sscop.c \
+       packet-ssl.c   \
        packet-stat.c   \
        packet-stat-notify.c \
-       packet-sual.c   \
+       packet-sua.c   \
        packet-syslog.c \
        packet-tacacs.c \
        packet-tcp.c   \
@@ -236,9 +279,12 @@ DISSECTOR_SRC = \
        packet-tpkt.c  \
        packet-tr.c    \
        packet-trmac.c \
+       packet-tsp.c \
+       packet-ucp.c   \
        packet-udp.c   \
        packet-v120.c \
        packet-vines.c \
+       packet-vj.c   \
        packet-vlan.c \
        packet-vrrp.c \
        packet-vtp.c  \
@@ -259,6 +305,41 @@ DISSECTOR_SRC = \
        packet-ypxfr.c \
        packet-zebra.c
 
+if HAVE_PLUGINS
+plugin_src = \
+       plugins/gryphon/packet-gryphon.c \
+       plugins/mgcp/packet-mgcp.c \
+       plugins/giop/packet-cosnaming.c \
+       plugins/giop/packet-coseventcomm.c
+
+plugin_static_ldadd = \
+       plugins/gryphon/packet-gryphon-static.o         \
+       plugins/mgcp/packet-mgcp-static.o               \
+       plugins/giop/packet-cosnaming-static.o          \
+       plugins/giop/packet-coseventcomm-static.o
+
+plugin_libs = \
+       plugins/gryphon/gryphon.la \
+       plugins/mgcp/mgcp.la \
+       plugins/giop/cosnaming.la \
+       plugins/giop/coseventcomm.la
+
+plugin_ldadd = \
+       "-dlopen" self  \
+       "-dlopen" plugins/gryphon/gryphon.la \
+       "-dlopen" plugins/mgcp/mgcp.la \
+       "-dlopen" plugins/giop/cosnaming.la \
+       "-dlopen" plugins/giop/coseventcomm.la
+else
+plugin_src =
+
+plugin_static_ldadd =
+
+plugin_libs =
+
+plugin_ldadd =
+endif
+
 noinst_HEADERS = \
        packet-afs.h   \
        packet-afs-macros.h \
@@ -271,6 +352,14 @@ noinst_HEADERS = \
        packet-chdlc.h \
        packet-clip.h  \
        packet-dcerpc.h \
+       packet-dcerpc-dfs.h \
+       packet-dcerpc-lsa.h \
+       packet-dcerpc-netlogon.h \
+       packet-dcerpc-reg.h \
+       packet-dcerpc-samr.h \
+       packet-dcerpc-spoolss.h \
+       packet-dcerpc-srvsvc.h \
+       packet-dcerpc-wkssvc.h \
        packet-ddtp.h  \
        packet-diameter-defs.h \
        packet-dns.h   \
@@ -278,7 +367,6 @@ noinst_HEADERS = \
        packet-esis.h  \
        packet-eth.h   \
        packet-fddi.h  \
-       packet-fr.h    \
        packet-frame.h  \
        packet-giop.h  \
        packet-gnutella.h \
@@ -286,6 +374,7 @@ noinst_HEADERS = \
        packet-http.h  \
        packet-ieee80211.h \
        packet-ieee8023.h \
+       packet-igmp.h  \
        packet-ip.h    \
        packet-ipsec.h \
        packet-ipv6.h  \
@@ -300,6 +389,9 @@ noinst_HEADERS = \
        packet-ldap.h  \
        packet-llc.h   \
        packet-mount.h \
+       packet-mrdisc.h \
+       packet-msnip.h \
+       packet-mtp3.h  \
        packet-ncp-int.h \
        packet-netbios.h \
        packet-nfs.h   \
@@ -309,9 +401,13 @@ noinst_HEADERS = \
        packet-null.h  \
        packet-osi.h   \
        packet-osi-options.h \
+       packet-pcnfsd.h \
+       packet-pflog.h \
+       packet-pgm.h   \
        packet-pim.h   \
        packet-portmap.h   \
        packet-ppp.h   \
+       packet-prism.h \
        packet-q931.h  \
        packet-raw.h   \
        packet-ripng.h \
@@ -321,8 +417,8 @@ noinst_HEADERS = \
        packet-rtp.h   \
        packet-rwall.h  \
        packet-rx.h  \
+       packet-scsi.h  \
        packet-sll.h   \
-       packet-smb.h   \
        packet-smb-browse.h \
        packet-smb-common.h \
        packet-smb-logon.h \
@@ -355,12 +451,18 @@ noinst_HEADERS = \
 ETHEREAL_COMMON_SRC = \
        aftypes.h      \
        alignment.h    \
+       afn.c          \
+       afn.h          \
        asn1.c         \
        asn1.h         \
        bridged_pids.h \
        column.c       \
        column.h       \
        color.h        \
+       conditions.c   \
+       conditions.h   \
+       capture_stop_conditions.h   \
+       capture_stop_conditions.c   \
        etypes.h       \
        follow.c       \
        follow.h       \
@@ -372,6 +474,10 @@ ETHEREAL_COMMON_SRC = \
        llcsaps.h      \
        nlpid.h        \
        oui.h          \
+       packet-dcerpc-nt.h \
+       packet-dcerpc-nt.c \
+       pcap-util.c    \
+       pcap-util.h    \
        ppptypes.h     \
        prefs.c        \
        prefs.h        \
@@ -384,15 +490,20 @@ ETHEREAL_COMMON_SRC = \
        ptvcursor.h     \
        reassemble.c   \
        reassemble.h   \
-       register.c     \
        register.h     \
+       ringbuffer.c   \
+       ringbuffer.h   \
+       rpc_defrag.h   \
        smb.h          \
        util.c         \
        util.h         \
        x11-declarations.h \
        x11-register-info.h \
+       x264_prt_id.h  \
        xdlc.c         \
-       xdlc.h
+       xdlc.h         \
+       xmlstub.c      \
+       xmlstub.h
 
 BUILT_SOURCES = \
        x11-declarations.h \
@@ -401,6 +512,7 @@ BUILT_SOURCES = \
 ethereal_SOURCES = \
        $(DISSECTOR_SRC) \
        $(ETHEREAL_COMMON_SRC) \
+       register.c     \
        capture.c      \
        capture.h      \
        file.c         \
@@ -419,7 +531,25 @@ ethereal_SOURCES = \
        ui_util.h
 
 ethereal_static_SOURCES = \
-       $(ethereal_SOURCES)
+       $(DISSECTOR_SRC) \
+       $(ETHEREAL_COMMON_SRC) \
+       register-static.c     \
+       capture.c      \
+       capture.h      \
+       file.c         \
+       file.h         \
+       filters.c      \
+       filters.h      \
+       globals.h      \
+       menu.h         \
+       progress_dlg.h \
+       proto_hier_stats.h      \
+       proto_hier_stats.c      \
+       simple_dialog.h \
+       statusbar.h    \
+       summary.c      \
+       summary.h      \
+       ui_util.h       
 
 EXTRA_ethereal_SOURCES = \
        snprintf.c      \
@@ -458,8 +588,7 @@ ethereal_additional_libs = \
 ethereal_DEPENDENCIES = \
        $(ethereal_optional_objects)    \
        $(ethereal_additional_libs)     \
-       plugins/gryphon/gryphon.la \
-       plugins/mgcp/mgcp.la
+       $(plugin_libs)
 
 ethereal_static_DEPENDENCIES = \
        $(ethereal_optional_objects)    \
@@ -476,15 +605,16 @@ ethereal_LDADD = \
        $(ethereal_optional_objects)    \
        $(ethereal_additional_libs)     \
        @SNMP_LIBS@ @SSL_LIBS@          \
-       "-dlopen" self  \
-       "-dlopen" plugins/gryphon/gryphon.la @PCAP_LIBS@ @GTK_LIBS@ \
-       "-dlopen" plugins/mgcp/mgcp.la @PCAP_LIBS@ @GTK_LIBS@
+       $(plugin_ldadd)                 \
+       @PCAP_LIBS@ @GTK_LIBS@
 
 ethereal_static_LDADD = \
+       "-all-static"                   \
+       $(plugin_static_ldadd)          \
        $(ethereal_optional_objects)    \
        $(ethereal_additional_libs)     \
        @SNMP_LIBS@ @SSL_LIBS@          \
-       @PCAP_LIBS@ @GTK_LIBS@
+       @PCAP_LIBS@ @GTK_LIBS@          
 
 ethereal_LDFLAGS = -export-dynamic
 ethereal_static_LDFLAGS = -Wl,-static
@@ -492,10 +622,14 @@ ethereal_static_LDFLAGS = -Wl,-static
 tethereal_SOURCES = \
        $(DISSECTOR_SRC) \
        $(ETHEREAL_COMMON_SRC) \
+       register.c     \
        tethereal.c
 
 tethereal_static_SOURCES = \
-       $(tethereal_SOURCES)
+       $(DISSECTOR_SRC) \
+       $(ETHEREAL_COMMON_SRC) \
+       register-static.c     \
+       tethereal.c
 
 # Additional libs that I know how to build. These will be
 # linked into the tethereal executable.
@@ -509,8 +643,7 @@ tethereal_additional_libs =         \
 tethereal_DEPENDENCIES = \
        $(ethereal_optional_objects)    \
        $(tethereal_additional_libs)    \
-       plugins/gryphon/gryphon.la      \
-       plugins/mgcp/mgcp.la
+       $(plugin_libs)
 
 tethereal_static_DEPENDENCIES = \
        $(ethereal_optional_objects)    \
@@ -521,12 +654,14 @@ tethereal_LDADD = wiretap/libwiretap.a    \
        $(ethereal_optional_objects)    \
        $(tethereal_additional_libs)    \
        @SNMP_LIBS@ @SSL_LIBS@          \
-       "-dlopen" self  \
-       "-dlopen" plugins/gryphon/gryphon.la @GLIB_LIBS@ -lm \
-       "-dlopen" plugins/mgcp/mgcp.la @GLIB_LIBS@ -lm \
+       $(plugin_ldadd)                 \
+       @GLIB_LIBS@ -lm \
        @PCAP_LIBS@ @SOCKET_LIBS@ @NSL_LIBS@
 
-tethereal_static_LDADD = wiretap/libwiretap.a  \
+tethereal_static_LDADD = \
+       "-all-static"           \
+       $(plugin_static_ldadd)  \
+       wiretap/libwiretap.a    \
        $(ethereal_optional_objects)    \
        $(tethereal_additional_libs)    \
        @SNMP_LIBS@ @SSL_LIBS@          \
@@ -536,9 +671,19 @@ tethereal_static_LDADD = wiretap/libwiretap.a      \
 tethereal_LDFLAGS = -export-dynamic
 tethereal_static_LDFLAGS = -Wl,-static
 
+# Optional objects that I know how to build, and that are needed by
+# text2pcap.
+text2pcap_optional_objects = @STRERROR_O@ @STRPTIME_O@
+
 text2pcap_SOURCES = text2pcap.c text2pcap-scanner.l
 text2pcap_DEPENDENCIES = text2pcap.h
 
+# This automake variable adds to the link-line for the executable
+text2pcap_LDADD = $(text2pcap_optional_objects)
+
+mergecap_SOURCES = mergecap.c
+mergecap_DEPENDENCIES = wiretap/libwiretap.a
+
 editcap_SOURCES = editcap.c
 
 # This is the automake dependency variable for the executable
@@ -546,12 +691,24 @@ editcap_DEPENDENCIES = wiretap/libwiretap.a
 
 # This automake variable adds to the link-line for the executable
 editcap_LDADD = wiretap/libwiretap.a @GLIB_LIBS@
+mergecap_LDADD = wiretap/libwiretap.a @GLIB_LIBS@
 
 #
 # Build various header files for the X11 dissector.
 #
 x11-declarations.h x11-register-info.h: x11-fields process-x11-fields.pl
-       $(PERL) process-x11-fields.pl <x11-fields
+       $(PERL) $(srcdir)/process-x11-fields.pl <$(srcdir)/x11-fields
+
+#
+# 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 $@
 
 #
 # Build "register.c", which contains a function "register_all_protocols()"
@@ -579,7 +736,11 @@ x11-declarations.h x11-register-info.h: x11-fields process-x11-fields.pl
 #
 register.c: $(DISSECTOR_SRC) $(srcdir)/make-reg-dotc
        @echo Making register.c
-       @$(srcdir)/make-reg-dotc $(srcdir) $(DISSECTOR_SRC)
+       @$(srcdir)/make-reg-dotc register.c $(srcdir) $(DISSECTOR_SRC)
+
+register-static.c: $(plugin_src) $(DISSECTOR_SRC) $(srcdir)/make-reg-dotc
+       @echo Making register-static.c
+       @$(srcdir)/make-reg-dotc register-static.c $(srcdir) $(plugin_src) $(DISSECTOR_SRC)
 
 ps.c: print.ps rdps
        ./rdps $(srcdir)/print.ps ps.c
@@ -597,9 +758,11 @@ randpkt: randpkt.o wiretap/libwiretap.a
 dftest_SOURCES = \
        $(DISSECTOR_SRC) \
        $(ETHEREAL_COMMON_SRC) \
+       register.c     \
        dftest.c
 
 dftest_additional_libs =               \
+       wiretap/libwiretap.a            \
        epan/libethereal.a              \
        epan/ftypes/libftypes.a         \
        epan/dfilter/libdfilter.a
@@ -607,31 +770,35 @@ dftest_additional_libs =          \
 dftest_DEPENDENCIES = \
        $(ethereal_optional_objects)    \
        $(dftest_additional_libs)       \
-       plugins/gryphon/gryphon.la \
-       plugins/mgcp/mgcp.la
+       $(plugin_libs)
 
 # This automake variable adds to the link-line for the executable
 dftest_LDADD = \
        $(ethereal_optional_objects)    \
        $(dftest_additional_libs)       \
        @SNMP_LIBS@ @SSL_LIBS@          \
-       "-dlopen" self  \
-       "-dlopen" plugins/gryphon/gryphon.la @GLIB_LIBS@ -lm \
-       "-dlopen" plugins/mgcp/mgcp.la @GLIB_LIBS@ -lm \
+       $(plugin_ldadd)                 \
+       @GLIB_LIBS@ -lm \
        @PCAP_LIBS@ @SOCKET_LIBS@ @NSL_LIBS@
 
 dftest_LDFLAGS = -export-dynamic
 
+CLEANFILES =   \
+       idl2eth
+
 DISTCLEANFILES =       \
        register.c      \
+       register-static.c \
        rdps            \
        ps.c            \
        *~
 
 EXTRA_DIST = \
+       Ethereal.desktop        \
        aclocal-flags           \
        capture-wpcap.c         \
        capture-wpcap.h         \
+       cleanbld.bat            \
        config.h.win32          \
        config.nmake            \
        debian/README.debian    \
@@ -644,44 +811,68 @@ EXTRA_DIST = \
        debian/postinst         \
        debian/prerm            \
        debian/rules            \
-       doc/Makefile.in         \
        doc/Makefile.am         \
+       doc/Makefile.nmake      \
+       doc/README.design       \
        doc/README.developer    \
        doc/README.idl2eth      \
+       doc/README.plugins      \
        doc/README.regression   \
        doc/README.tvbuff       \
        doc/dfilter2pod.pl      \
        doc/editcap.pod         \
        doc/ethereal.pod.template \
+       doc/idl2eth.pod         \
+       doc/mergecap.pod        \
        doc/randpkt.txt         \
        doc/tethereal.pod.template \
        doc/text2pcap.pod       \
        editcap.c               \
        ethereal_be.py          \
        ethereal_gen.py         \
+       mergecap.c              \
        text2pcap.c             \
        text2pcap.h             \
        text2pcap-scanner.l     \
        getopt.c                \
        getopt.h                \
-       idl2eth                 \
+       idl2eth.sh              \
        ieee-float.h            \
        image/Makefile.nmake    \
+       image/README.image      \
+       image/clist_ascend.xpm  \
+       image/clist_descend.xpm \
+       image/dn_arrow.xpm      \
        image/editcap.rc.in     \
+       image/eexcl3d64.xpm     \
+       image/eicon3d16.xpm     \
+       image/eicon3d32.xpm     \
+       image/eicon3d48.xpm     \
+       image/eicon3d64.xpm     \
        image/elogo3d48x48.png  \
-       image/ethereal48x48-trans.png  \
-       image/ethereal48x48.png \
        image/ethereal.ico      \
        image/ethereal.rc.in    \
-       image/icon-excl.xpm     \
-       image/icon-ethereal.xpm \
+       image/ethereal48x48-trans.png  \
+       image/ethereal48x48.png \
+       image/hi16-app-ethereal.png     \
+       image/hi32-app-ethereal.png     \
+       image/hi48-app-ethereal.png     \
+       image/icon-ethereal.xpm \
+       image/icon-excl.xpm     \
+       image/lo16-app-ethereal.png     \
+       image/lo32-app-ethereal.png     \
+       image/lo48-app-ethereal.png     \
+       image/mergecap.rc.in    \
        image/tethereal.rc.in   \
        image/text2pcap.rc.in   \
+       image/up_arrow.xpm      \
        INSTALL.configure       \
        Makefile.nmake          \
+       make-manuf              \
        make-reg-dotc           \
        make-reg-dotc.py        \
        manuf                   \
+       manuf.tmpl              \
        ncp2222.py              \
        packet-ncp2222.inc      \
        print.ps                \
@@ -697,6 +888,11 @@ EXTRA_DIST = \
        randpkt.c               \
        rdps.c                  \
        TODO                    \
+       dictionary.dtd          \
+       dictionary.xml          \
+       mobileipv4.xml          \
+       nasreq.xml              \
+       sunping.xml             \
        x11-fields
 
 if SETUID_INSTALL
@@ -726,7 +922,11 @@ endif
 #dist-hook:
 #      @rm -f $(distdir)/register.c
 
-SUBDIRS = tools wiretap epan plugins packaging @ethereal_SUBDIRS@
+if HAVE_PLUGINS
+SUBDIRS = tools wiretap doc epan plugins packaging @ethereal_SUBDIRS@
+else
+SUBDIRS = tools wiretap doc epan packaging @ethereal_SUBDIRS@
+endif
 
 ethereal.1: ethereal doc/ethereal.pod.template
        (cd doc ; \
@@ -740,6 +940,14 @@ editcap.1: doc/editcap.pod
        (cd doc ; \
        $(MAKE) ../editcap.1 )
 
+idl2eth.1: doc/idl2eth.pod
+       (cd doc ; \
+       $(MAKE) ../idl2eth.1 )
+
+mergecap.1: doc/mergecap.pod
+       (cd doc ; \
+       $(MAKE) ../mergecap.1 )
+
 text2pcap.1: doc/text2pcap.pod
        (cd doc ; \
        $(MAKE) ../text2pcap.1 )
@@ -772,24 +980,30 @@ svr4-package: $(bin_SCRIPTS) $(lib_LTLIBRARIES)
 
 solaris-package: svr4-package
 
-specfile=$(top_srcdir)/packaging/rpm/ethereal.spec
-
+rpm_topdir=`cd $(top_srcdir) && pwd`/packaging/rpm
 rpm-package: dist
-       if test x$(HAVE_RPM_PACKAGING) = xyes ; then \
-               cp $(top_srcdir)/$(distdir).tar.gz $(RPM_SOURCEDIR) ; \
-               rpm -bb --clean --rmsource $(specfile) ; \
+       if test x$(HAVE_RPM) = xyes ; then \
+               cd $(rpm_topdir) ; \
+               mkdir BUILD RPMS SOURCES ; \
+               cd SOURCES ; \
+               ln -s ../../../$(distdir).tar.gz ; \
+               cd .. ; \
+               rpm --define "_topdir `cd . && pwd`" -bb SPECS/ethereal.spec && \
+                       echo "Package successfully built in `pwd`/RPMS." ; \
        else \
                echo "Error: RPM executable and/or source directory not found." ; \
-               echo "Package build abandoned." ; \
        fi
-
 srpm-package: dist
-       if test x$(HAVE_RPM_PACKAGING) = xyes ; then \
-               cp $(top_srcdir)/$(distdir).tar.gz $(RPM_SOURCEDIR) ; \
-               rpm -bs --clean --rmsource $(specfile) ; \
+       if test x$(HAVE_RPM) = xyes ; then \
+               cd $(rpm_topdir) ; \
+               mkdir BUILD SRPMS SOURCES ; \
+               cd SOURCES ; \
+               ln -s ../../../$(distdir).tar.gz ; \
+               cd .. ; \
+               rpm --define "_topdir `cd . && pwd`" -bs SPECS/ethereal.spec && \
+                       echo "Package successfully built in `pwd`/SRPMS." ; \
        else \
                echo "Error: RPM executable and/or source directory not found." ; \
-               echo "Package build abandoned." ; \
        fi
 
 debian-package: debian/rules