Put the error code into the Info column symbolically, if possible.
[obnox/wireshark/wip.git] / Makefile.nmake
index e8dacaf35beac19443f60dc1d62d3e30f4e7a218..b6d4d9d9c1b8eee43ec7bea53d51f236e5e13615 100644 (file)
@@ -1,9 +1,10 @@
 ## Makefile for building ethereal.exe with Microsoft C and nmake
-## Use: nmake -f makefile.nmake
+## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
 #
-# $Id: Makefile.nmake,v 1.62 2000/11/04 07:50:47 guy Exp $
+# $Id: Makefile.nmake,v 1.135 2001/11/01 21:52:44 guy Exp $
 
 include config.nmake
+include <win32.mak>
 
 ############### no need to modify below this line #########
 
@@ -12,51 +13,78 @@ LINK= link
 
 LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)
 
-CFLAGS=/MT -DHAVE_CONFIG_H $(LOCAL_CFLAGS) /I$(GLIB_DIR) /I$(GLIB_DIR)\gmodule \
+CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) /I$(GLIB_DIR) /I$(GLIB_DIR)\gmodule \
        /I$(GTK_DIR) /Iepan /Iwiretap /I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
        /I$(PCAP_DIR)/include
 
+CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
+
 {$S}.c{$O}.obj::
-   $(CC) $(CFLAGS) -Fd$O\ -c $<
+   $(CC) $(CVARSDLL) $(CFLAGS) -Fd$O\ -c $<
 
-DISSECTOR_SOURCES = \
+DISSECTOR_SRC = \
        packet-aarp.c  \
        packet-afs.c   \
+       packet-aim.c   \
        packet-arp.c   \
        packet-ascend.c\
        packet-atalk.c \
        packet-atm.c   \
        packet-auto_rp.c   \
+       packet-bacapp.c   \
+       packet-bacnet.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  \
        packet-clip.c  \
        packet-clnp.c  \
        packet-cops.c  \
+       packet-cups.c  \
        packet-data.c  \
+       packet-dcerpc.c  \
+       packet-dcerpc-conv.c  \
+       packet-dcerpc-epm.c  \
+       packet-dcerpc-mgmt.c  \
+       packet-dcerpc-remact.c  \
+       packet-dcerpc-oxid.c  \
        packet-ddtp.c  \
+       packet-dec-bpdu.c \
        packet-diameter.c \
        packet-dns.c   \
+       packet-dsi.c   \
+       packet-dvmrp.c \
        packet-eigrp.c \
        packet-esis.c  \
        packet-eth.c   \
        packet-ethertype.c   \
        packet-fddi.c  \
+       packet-fr.c    \
        packet-frame.c  \
        packet-ftp.c   \
        packet-giop.c  \
+       packet-gmrp.c \
+       packet-gnutella.c \
        packet-gre.c   \
+       packet-gtp.c   \
+       packet-gvrp.c  \
        packet-h1.c    \
        packet-h261.c  \
+       packet-hclnfsd.c  \
        packet-hsrp.c  \
        packet-http.c  \
+       packet-icap.c  \
        packet-icmpv6.c\
        packet-icp.c   \
        packet-icq.c   \
+       packet-ieee80211.c \
+       packet-ieee8023.c \
+       packet-igmp.c  \
        packet-igrp.c  \
        packet-imap.c   \
        packet-ip.c    \
@@ -66,30 +94,47 @@ DISSECTOR_SOURCES = \
        packet-ipx.c   \
        packet-irc.c   \
        packet-isakmp.c\
+       packet-iscsi.c \
        packet-isis.c  \
        packet-isis-clv.c \
        packet-isis-hello.c \
        packet-isis-lsp.c \
        packet-isis-snp.c \
        packet-isl.c   \
+       packet-isup.c  \
+       packet-iua.c   \
        packet-kerberos.c \
+       packet-klm.c   \
        packet-l2tp.c  \
        packet-lapb.c  \
+       packet-lapbether.c \
        packet-lapd.c  \
        packet-ldap.c  \
+       packet-ldp.c  \
        packet-llc.c   \
+       packet-lmi.c   \
        packet-lpd.c   \
+       packet-m2pa.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-mtp3.c \
        packet-nbipx.c \
        packet-nbns.c  \
        packet-ncp.c   \
        packet-ncp2222.c   \
        packet-netbios.c \
        packet-nfs.c   \
+       packet-nisplus.c \
        packet-nlm.c   \
        packet-nntp.c  \
        packet-ntp.c  \
@@ -97,6 +142,7 @@ DISSECTOR_SOURCES = \
        packet-osi.c   \
        packet-osi-options.c \
        packet-ospf.c  \
+       packet-pgm.c   \
        packet-pim.c   \
        packet-pop.c   \
        packet-portmap.c   \
@@ -106,22 +152,30 @@ DISSECTOR_SOURCES = \
        packet-q2931.c \
        packet-q931.c  \
        packet-quake.c \
+       packet-quakeworld.c \
+       packet-quake2.c \
+       packet-quake3.c \
        packet-radius.c\
+       packet-ranap.c \
        packet-raw.c   \
        packet-rip.c   \
        packet-ripng.c \
        packet-rlogin.c \
        packet-rpc.c   \
+       packet-rquota.c \
        packet-rsh.c   \
        packet-rsvp.c  \
        packet-rtcp.c  \
        packet-rtp.c   \
        packet-rtsp.c  \
+       packet-rwall.c \
        packet-rx.c  \
        packet-sap.c   \
        packet-sctp.c   \
        packet-sdp.c   \
        packet-sip.c   \
+       packet-skinny.c   \
+       packet-sll.c   \
        packet-smb.c   \
        packet-smb-browse.c \
        packet-smb-common.c \
@@ -132,9 +186,13 @@ DISSECTOR_SOURCES = \
        packet-sna.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-syslog.c \
        packet-tacacs.c \
        packet-tcp.c   \
@@ -145,6 +203,7 @@ DISSECTOR_SOURCES = \
        packet-tpkt.c  \
        packet-tr.c    \
        packet-trmac.c \
+       packet-ucp.c   \
        packet-udp.c   \
        packet-v120.c \
        packet-vines.c \
@@ -152,136 +211,220 @@ DISSECTOR_SOURCES = \
        packet-vrrp.c \
        packet-vtp.c  \
        packet-wccp.c \
+       packet-wcp.c \
        packet-who.c  \
+       packet-wap.c \
+       packet-wtls.c \
        packet-wsp.c \
        packet-wtp.c \
        packet-x11.c    \
        packet-x25.c   \
+       packet-xot.c   \
        packet-yhoo.c  \
        packet-ypbind.c \
+       packet-yppasswd.c \
        packet-ypserv.c \
        packet-ypxfr.c \
        packet-zebra.c
 
-DISSECTOR_OBJECTS = $(DISSECTOR_SOURCES:.c=.obj)
+DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
 
 ETHEREAL_COMMON_OBJECTS = \
+       afn.obj          \
        asn1.obj         \
+       capture-wpcap.obj       \
        column.obj       \
        follow.obj       \
        getopt.obj       \
+       in_cksum.obj     \
+       int-64bit.obj   \
        ipproto.obj      \
        prefs.obj        \
        print.obj        \
        ps.obj           \
        ptvcursor.obj    \
+       reassemble.obj   \
        register.obj     \
        util.obj         \
        xdlc.obj         \
+       xmlstub.obj      \
 
 ethereal_OBJECTS = \
        $(DISSECTOR_OBJECTS) \
        $(ETHEREAL_COMMON_OBJECTS) \
-       capture.obj      \
-       file.obj         \
-       summary.obj      \
+       capture.obj             \
+       file.obj                \
+       filters.obj             \
+       proto_hier_stats.obj    \
+       summary.obj
 
 tethereal_OBJECTS = \
        $(DISSECTOR_OBJECTS) \
        $(ETHEREAL_COMMON_OBJECTS) \
        tethereal.obj
 
+dftest_OBJECTS = \
+       $(DISSECTOR_OBJECTS) \
+       $(ETHEREAL_COMMON_OBJECTS) \
+       dftest.obj
+
 EXTRA_OBJECTS = \
-       snprintf.obj    \
-       strerror.obj    \
-       mkstemp.obj
+#      snprintf.obj    \
+#      strerror.obj    \
+       mkstemp.obj     \
+       strptime.obj
 
-ethereal_LIBS= wiretap\libwtap.lib gtk\libui.lib epan\ethereal.lib \
+ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
+       gtk\libui.lib epan\ethereal.lib \
+       epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
        wsock32.lib user32.lib \
        $(GTK_DIR)\gtk\gtk-$(GTK_VERSION).lib \
        $(GTK_DIR)\gdk\gdk-$(GTK_VERSION).lib \
        $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
-       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib \
-       $(PCAP_DIR)\lib\libpcap.lib
+       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+#      $(PCAP_DIR)\lib\wpcap.lib
 
-tethereal_LIBS= wiretap\libwtap.lib epan\ethereal.lib \
+tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
+       epan\ethereal.lib \
+       epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
        wsock32.lib user32.lib \
        $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
-       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib \
-       $(PCAP_DIR)\lib\libpcap.lib
+       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
 
-editcap_LIBS= wiretap\libwtap.lib wsock32.lib user32.lib \
+editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
+       wsock32.lib user32.lib \
        $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
        $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
 
-EXECUTABLES=ethereal.exe tethereal.exe editcap.exe
+mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
+       wsock32.lib user32.lib \
+       $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
+       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
 
-RESOURCES=image\ethereal.res image\tethereal.res image\editcap.res
+dftest_LIBS= epan\ethereal.lib \
+       epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
+       wsock32.lib user32.lib \
+       $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
+       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+
+EXECUTABLES=ethereal.exe tethereal.exe editcap.exe mergecap.exe text2pcap.exe
+
+RESOURCES=image\ethereal.res image\tethereal.res image\editcap.res image\mergecap.res image\text2pcap.res
+
+all: tools wiretap gtk epan image $(EXECUTABLES) $(RESOURCES)
+
+ethereal.exe   : config.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk\libui.lib plugins
+       @echo Linking $@
+       $(LINK) @<<
+               /OUT:ethereal.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
+<<
 
-all: wiretap gtk epan $(EXECUTABLES) $(RESOURCES)
+tethereal.exe  : config.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
+       @echo Linking $@
+       $(LINK) @<<
+               /OUT:tethereal.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(tethereal_LIBS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res
+<<
 
-ethereal.exe   : config.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res wiretap\libwtap.lib gtk\libui.lib plugins
+editcap.exe    : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res
        @echo Linking $@
        $(LINK) @<<
-               /OUT:ethereal.exe $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
+               /OUT:editcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console editcap.obj getopt.obj $(editcap_LIBS) image\editcap.res
 <<
 
-tethereal.exe  : config.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res wiretap\libwtap.lib plugins
+mergecap.exe   : config.h mergecap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\mergecap.res
        @echo Linking $@
        $(LINK) @<<
-               /OUT:tethereal.exe $(LDFLAGS) /SUBSYSTEM:console $(tethereal_LIBS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res
+               /OUT:mergecap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console mergecap.obj getopt.obj $(mergecap_LIBS) image\mergecap.res
 <<
 
-editcap.exe    : config.h editcap.obj getopt.obj wiretap\libwtap.lib image\editcap.res
+text2pcap.exe  : config.h text2pcap.obj text2pcap-scanner.obj getopt.obj image\text2pcap.res
        @echo Linking $@
        $(LINK) @<<
-               /OUT:editcap.exe $(LDFLAGS) /SUBSYSTEM:console editcap.obj getopt.obj $(editcap_LIBS) image\editcap.res
+               /OUT:text2pcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console text2pcap.obj text2pcap-scanner.obj getopt.obj image\text2pcap.res
+<<
+
+dftest.exe     : $(dftest_OBJECTS) $(EXTRA_OBJECTS)
+       $(LINK) @<<
+               /OUT:dftest.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(dftest_LIBS) $(dftest_OBJECTS) $(EXTRA_OBJECTS)
 <<
 
 config.h       : config.h.win32
-       copy config.h.win32 $@
+       sed -e s/@VERSION@/$(VERSION)/ < config.h.win32 > $@
 
 ps.c   : rdps.exe print.ps
        rdps print.ps ps.c
 
+#
+# The header files listed here are built from x11-fields using Perl;
+# we declare a dependency here so that they get built.
+#
+packet-x11.obj : packet-x11.c x11-declarations.h x11-register-info.h
+
+#
+# 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
+
 packet-ncp2222.c : ncp2222.py
+       @echo Making packet-ncp2222.c
        $(PYTHON) ncp2222.py > packet-ncp2222.c
 
-register.c: $(DISSECTOR_SOURCES)
+register.c: $(DISSECTOR_SRC)
        @echo Making register.c
-       @sh make-reg-dotc . $(DISSECTOR_SOURCES)
+       @$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC)
+#      How are ifdef's done in NMAKE? It would be nice
+#      to use python if PYTHON is defined, otherwise try to use shell.
+#      @sh make-reg-dotc . $(DISSECTOR_SRC)
+
+text2pcap-scanner.c : text2pcap-scanner.l
+       $(LEX) -otext2pcap-scanner.c text2pcap-scanner.l
 
 clean:
        rm -f $(ethereal_OBJECTS) $(EXTRA_OBJECTS) $(EXECUTABLES) \
-               tethereal.obj editcap.obj register.c dfilter-scanner.c \
-               dfilter-grammar.c dfilter-grammar.h rdps.obj
+               tethereal.obj editcap.obj mergecap.obj text2pcap.obj \
+               text2pcap-scanner.c register.c rdps.obj config.h \
+               ps.c packet-ncp2222.c register.c
        cd wiretap
-       nmake -f Makefile.nmake clean
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../gtk
-       nmake -f Makefile.nmake clean
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../epan
-       nmake -f Makefile.nmake clean
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../plugins
-       nmake -f Makefile.nmake clean
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+       cd ../tools
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+       cd ../image
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+       cd ..
+
+tools::
+       cd tools
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
+       cd ..
+
+image::
+       cd image
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..
 
 wiretap::
        cd wiretap
-       nmake -f Makefile.nmake
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..
 
-gtk::
+gtk:: config.h
        cd gtk
-       nmake -f Makefile.nmake
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..
 
 epan::
        cd epan
-       nmake -f Makefile.nmake
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..
 
 plugins::
        cd plugins
-       nmake -f Makefile.nmake
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..
-