Add "stamp-h1", for automake 1.6.1, as per Joerg Mayer's suggestion.
[obnox/wireshark/wip.git] / Makefile.nmake
index 50a7dea581078ccf73c6b3eef9ad7bc17453bf96..5c939b070190c632732d14d9f46dc3e8b031d14f 100644 (file)
@@ -1,7 +1,7 @@
 ## Makefile for building ethereal.exe with Microsoft C and nmake
 ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
 #
-# $Id: Makefile.nmake,v 1.92 2001/04/03 05:26:25 gram Exp $
+# $Id: Makefile.nmake,v 1.180 2002/04/18 00:29:16 guy Exp $
 
 include config.nmake
 include <win32.mak>
@@ -14,31 +14,32 @@ LINK= link
 LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)
 
 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
+       /I$(GTK_DIR) /I. /Iwiretap /I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
+       /I$(PCAP_DIR)/include -D_U_=""
 
 CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
 
-{$S}.c{$O}.obj::
-   $(CC) $(CVARSDLL) $(CFLAGS) -Fd$O\ -c $<
+.c.obj::
+   $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
 
-DISSECTOR_SOURCES = \
+DISSECTOR_SRC = \
        packet-aarp.c  \
        packet-afs.c   \
        packet-aim.c   \
        packet-arp.c   \
+       packet-asap.c  \
        packet-ascend.c\
        packet-atalk.c \
        packet-atm.c   \
        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  \
@@ -48,10 +49,31 @@ DISSECTOR_SOURCES = \
        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-nt.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   \
@@ -61,16 +83,24 @@ DISSECTOR_SOURCES = \
        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-iapp.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    \
@@ -79,17 +109,18 @@ DISSECTOR_SOURCES = \
        packet-ipv6.c  \
        packet-ipx.c   \
        packet-irc.c   \
-       packet-ieee80211.c \
-       packet-ieee8023.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 \
@@ -98,19 +129,33 @@ DISSECTOR_SOURCES = \
        packet-ldp.c  \
        packet-llc.c   \
        packet-lmi.c   \
+       packet-lmp.c   \
        packet-lpd.c   \
+       packet-m2pa.c  \
+       packet-m2tp.c  \
+       packet-m2ua.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 \
        packet-nlm.c   \
        packet-nntp.c  \
        packet-ntp.c  \
@@ -118,16 +163,25 @@ DISSECTOR_SOURCES = \
        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   \
        packet-rip.c   \
        packet-ripng.c \
@@ -139,11 +193,16 @@ DISSECTOR_SOURCES = \
        packet-rtcp.c  \
        packet-rtp.c   \
        packet-rtsp.c  \
+       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 \
@@ -151,15 +210,19 @@ DISSECTOR_SOURCES = \
        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   \
@@ -170,9 +233,12 @@ DISSECTOR_SOURCES = \
        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  \
@@ -185,30 +251,39 @@ DISSECTOR_SOURCES = \
        packet-wtp.c \
        packet-x11.c    \
        packet-x25.c   \
+       packet-xdmcp.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       \
+       capture_stop_conditions.obj \
+       capture-wpcap.obj \
        column.obj       \
+       conditions.obj   \
        follow.obj       \
        getopt.obj       \
        in_cksum.obj     \
        ipproto.obj      \
+       pcap-util.obj    \
        prefs.obj        \
        print.obj        \
        ps.obj           \
        ptvcursor.obj    \
+       reassemble.obj   \
        register.obj     \
+       ringbuffer.obj   \
        util.obj         \
        xdlc.obj         \
+       xmlstub.obj      \
 
 ethereal_OBJECTS = \
        $(DISSECTOR_OBJECTS) \
@@ -232,7 +307,8 @@ dftest_OBJECTS = \
 EXTRA_OBJECTS = \
 #      snprintf.obj    \
 #      strerror.obj    \
-       mkstemp.obj
+       mkstemp.obj     \
+       strptime.obj
 
 ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        gtk\libui.lib epan\ethereal.lib \
@@ -256,25 +332,35 @@ editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
        $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
 
-dftest_LIBS= epan\ethereal.lib \
+mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
+       wsock32.lib user32.lib \
+       $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
+       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+
+dftest_LIBS=  wiretap\wiretap-$(WTAP_VERSION).lib epan\ethereal.lib \
        epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
        wsock32.lib user32.lib \
+       wiretap\wiretap-$(WTAP_VERSION).lib \
        $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
        $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
 
-EXECUTABLES=ethereal.exe tethereal.exe editcap.exe
+EXECUTABLES=ethereal.exe tethereal.exe editcap.exe mergecap.exe text2pcap.exe
 
-RESOURCES=image\ethereal.res image\tethereal.res image\editcap.res
+RESOURCES=image\ethereal.res image\tethereal.res image\editcap.res image\mergecap.res image\text2pcap.res
 
-all: tools wiretap gtk epan $(EXECUTABLES) $(RESOURCES)
+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
+$(RESOURCES): image
+
+wiretap\wiretap-$(WTAP_VERSION).lib: wiretap
+
+ethereal.exe   : config.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) epan gtk 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
 <<
 
-tethereal.exe  : config.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
+tethereal.exe  : config.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) epan 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
@@ -286,31 +372,71 @@ editcap.exe       : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).li
                /OUT:editcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console editcap.obj getopt.obj $(editcap_LIBS) image\editcap.res
 <<
 
+mergecap.exe   : config.h mergecap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\mergecap.res
+       @echo Linking $@
+       $(LINK) @<<
+               /OUT:mergecap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console mergecap.obj getopt.obj $(mergecap_LIBS) image\mergecap.res
+<<
+
+text2pcap.exe  : config.h text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.obj image\text2pcap.res
+       @echo Linking $@
+       $(LINK) @<<
+               /OUT:text2pcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.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
+!IFDEF PYTHON
        @echo Making packet-ncp2222.c
        $(PYTHON) ncp2222.py > packet-ncp2222.c
-
-register.c: $(DISSECTOR_SOURCES)
-       @echo Making register.c
-       @$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SOURCES)
-#      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_SOURCES)
+!ELSE
+       @echo Faking packet-ncp2222.c...
+       @echo Python is required to build the NCP disector
+       @echo Hiding packet-ncp.c...
+       mv packet-ncp.c packet-ncp.c.save
+       touch packet-ncp.c $@
+!ENDIF
+
+register.c: $(DISSECTOR_SRC)
+!IFDEF PYTHON
+       @echo Making register.c (using python)
+       @$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC)
+!ELSE
+       @echo Making register.c (using sh)
+       @sh make-reg-dotc register.c $(DISSECTOR_SRC)
+!ENDIF
+
+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 rdps.obj
+       rm -f $(ethereal_OBJECTS) $(EXTRA_OBJECTS) $(EXECUTABLES) $(PDB_FILE) \
+               tethereal.obj editcap.obj mergecap.obj text2pcap.obj \
+               text2pcap-scanner.obj text2pcap-scanner.c register.c \
+               rdps.obj rdps.pdb config.h ps.c packet-ncp2222.c register.c \
+               rdps.exe rdps.ilk dftest.obj dftest.exe $(RESOURCES)
        cd wiretap
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../gtk
@@ -321,19 +447,30 @@ clean:
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../tools
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ..
+       cd ../image
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+       cd ../doc
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+       cd ../packaging/nsis
+       $(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
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..
 
-gtk::
+gtk:: config.h
        cd gtk
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..