## Makefile for building ethereal.exe with Microsoft C and nmake
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
#
-# $Id: Makefile.nmake,v 1.304 2003/06/11 01:33:04 gerald Exp $
+# $Id: Makefile.nmake,v 1.394 2004/01/18 03:55:02 guy Exp $
include config.nmake
include <win32.mak>
LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)
-CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) /I$(GLIB_DIR) /I$(GLIB_DIR)\gmodule \
- /I$(GTK_DIR) /I. /Iwiretap /I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
- /I$(ZLIB_DIR) /I$(PCAP_DIR)\include \
+CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) $(GTK_CFLAGS) /I. /Iwiretap \
+ $(ZLIB_CFLAGS) /I$(PCAP_DIR)\include \
/I$(NET_SNMP_DIR)\include /I$(NET_SNMP_DIR)\win32 \
- /I$(ADNS_DIR)\src /I$(ADNS_DIR)\adns_win32 \
- -D_U_=""
+ $(ADNS_CFLAGS) $(PCRE_CFLAGS) -D_U_=""
CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
packet-afs.c \
packet-aim.c \
packet-ajp13.c \
+ packet-alcap.c \
packet-ans.c \
+ packet-ansi_a.c \
+ packet-ansi_637.c \
+ packet-ansi_683.c \
+ packet-ansi_map.c \
packet-aodv.c \
packet-arcnet.c \
packet-arp.c \
packet-bacapp.c \
packet-bacnet.c \
packet-beep.c \
+ packet-bfd.c \
packet-bgp.c \
packet-bofl.c \
packet-bootp.c \
packet-bootparams.c \
packet-bpdu.c \
packet-brdwlk.c \
+ packet-bssap.c \
+ packet-bssgp.c \
packet-bvlc.c \
+ packet-ccsds.c \
packet-cdp.c \
packet-cgmp.c \
packet-chdlc.c \
+ packet-cisco-oui.c \
packet-clearcase.c \
packet-clip.c \
packet-clnp.c \
packet-cops.c \
packet-cosine.c \
+ packet-cpfi.c \
packet-cpha.c \
packet-cups.c \
packet-data.c \
packet-dcerpc-atsvc.c \
packet-dcerpc-bossvr.c \
packet-dcerpc-browser.c \
+ packet-dcerpc-budb.c \
+ packet-dcerpc-butc.c \
packet-dcerpc-cds_clerkserver.c \
packet-dcerpc-cds_solicit.c \
packet-dcerpc-conv.c \
packet-dcerpc-dce122.c \
packet-dcerpc-dfs.c \
packet-dcerpc-dnsserver.c \
+ packet-dcerpc-drsuapi.c \
packet-dcerpc-dtsprovider.c \
packet-dcerpc-dtsstime_req.c \
packet-dcerpc-epm.c \
+ packet-dcerpc-epm4.c \
packet-dcerpc-fldb.c \
packet-dcerpc-ftserver.c \
+ packet-dcerpc-icl_rpc.c \
+ packet-dcerpc-initshutdown.c \
packet-dcerpc-krb5rpc.c \
packet-dcerpc-lsa.c \
packet-dcerpc-lsa-ds.c \
packet-dcerpc-mapi.c \
+ packet-dcerpc-messenger.c \
packet-dcerpc-mgmt.c \
packet-dcerpc-ndr.c \
packet-dcerpc-netlogon.c \
packet-dcerpc-rpriv.c \
packet-dcerpc-rs_acct.c \
packet-dcerpc-rs_attr.c \
+ packet-dcerpc-rs_bind.c \
packet-dcerpc-rs_misc.c \
+ packet-dcerpc-rs_plcy.c \
packet-dcerpc-rs_pgo.c \
+ packet-dcerpc-rs_prop_acct.c \
packet-dcerpc-rs_repadm.c \
packet-dcerpc-rs_replist.c \
packet-dcerpc-rs_unix.c \
packet-dcerpc-svcctl.c \
packet-dcerpc-tapi.c \
packet-dcerpc-tkn4int.c \
+ packet-dcerpc-trksvr.c \
packet-dcerpc-ubikdisk.c \
packet-dcerpc-ubikvote.c \
packet-dcerpc-update.c \
packet-dec-bpdu.c \
packet-dhcpv6.c \
packet-diameter.c \
+ packet-diffserv-mpls-common.c \
packet-distcc.c \
packet-dlsw.c \
packet-dns.c \
packet-dvmrp.c \
packet-eap.c \
packet-eapol.c \
+ packet-echo.c \
+ packet-edonkey.c \
packet-eigrp.c \
packet-enc.c \
+ packet-enip.c \
packet-esis.c \
packet-eth.c \
packet-etherip.c \
packet-fcip.c \
packet-fclctl.c \
packet-fcp.c \
+ packet-fcsb3.c \
+ packet-fcsp.c \
packet-fcswils.c \
packet-fddi.c \
packet-fix.c \
packet-giop.c \
packet-gmrp.c \
packet-gnutella.c \
+ packet-gprs-ns.c \
packet-gre.c \
+ packet-gsm_a.c \
+ packet-gsm_map.c \
+ packet-gsm_sms.c \
packet-gssapi.c \
packet-gtp.c \
packet-gvrp.c \
packet-h1.c \
+ packet-h225.c \
+ packet-h245.c \
packet-h261.c \
+ packet-h263.c \
+ packet-h450.c \
packet-hclnfsd.c \
packet-hpext.c \
packet-hsrp.c \
packet-icq.c \
packet-ieee80211.c \
packet-ieee8023.c \
+ packet-igap.c \
packet-igmp.c \
packet-igrp.c \
+ packet-image-gif.c \
+ packet-image-jfif.c \
packet-imap.c \
packet-ip.c \
packet-ipfc.c \
packet-ipmi.c \
packet-ipp.c \
packet-ipsec.c \
+ packet-ipsec-udp.c \
packet-ipv6.c \
packet-ipx.c \
packet-ipxwan.c \
packet-isis-lsp.c \
packet-isis-snp.c \
packet-isl.c \
+ packet-ismp.c \
packet-isns.c \
packet-isup.c \
packet-iua.c \
+ packet-jabber.c \
packet-kadm5.c \
packet-kerberos.c \
packet-klm.c \
+ packet-kpasswd.c \
packet-l2tp.c \
packet-lapb.c \
packet-lapbether.c \
packet-lapd.c \
+ packet-laplink.c \
packet-ldap.c \
packet-ldp.c \
packet-llc.c \
packet-lmi.c \
packet-lmp.c \
packet-lpd.c \
+ packet-lwapp.c \
packet-m2pa.c \
packet-m2tp.c \
packet-m2ua.c \
packet-mtp2.c \
packet-mtp3.c \
packet-mtp3mg.c \
+ packet-multipart.c \
packet-mysql.c \
packet-nbipx.c \
packet-nbns.c \
packet-nlm.c \
packet-nlsp.c \
packet-nntp.c \
+ packet-nt-oui.c \
+ packet-nt-sonmp.c \
+ packet-nt-tpcp.c \
packet-ntlmssp.c \
packet-ntp.c \
packet-null.c \
+ packet-olsr.c \
packet-osi.c \
packet-osi-options.c \
packet-ospf.c \
packet-pcnfsd.c \
+ packet-per.c \
packet-pflog.c \
packet-pgm.c \
packet-pim.c \
packet-ppp.c \
packet-pppoe.c \
packet-pptp.c \
+ packet-pres.c \
packet-prism.c \
packet-q2931.c \
packet-q931.c \
+ packet-q933.c \
packet-qllc.c \
packet-quake.c \
packet-quake2.c \
packet-rsync.c \
packet-rtcp.c \
packet-rtp.c \
+ packet-rtp-events.c \
packet-rtsp.c \
packet-rwall.c \
packet-rx.c \
packet-sctp.c \
packet-sdlc.c \
packet-sdp.c \
+ packet-sebek.c \
+ packet-ses.c \
+ packet-sflow.c \
packet-sip.c \
packet-skinny.c \
packet-slimp3.c \
packet-ssl.c \
packet-stat.c \
packet-stat-notify.c \
+ packet-stun.c \
packet-sua.c \
packet-syslog.c \
+ packet-t38.c \
packet-tacacs.c \
+ packet-tcap.c \
packet-tcp.c \
packet-tds.c \
packet-telnet.c\
+ packet-teredo.c\
+ packet-text-media.c \
packet-tftp.c \
packet-time.c \
packet-tns.c \
DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
TETHEREAL_TAP_SRC = \
+ tap-ansi_astat.c \
+ tap-bootpstat.c \
tap-dcerpcstat.c \
+ tap-gsm_astat.c \
+ tap-h225counter.c \
+ tap-h225rassrt.c \
+ tap-httpstat.c \
tap-iostat.c \
tap-iousers.c \
tap-mgcpstat.c \
tap-rpcstat.c \
tap-rpcprogs.c \
tap-smbsids.c \
- tap-smbstat.c
+ tap-smbstat.c \
+ tap-wspstat.c
TETHEREAL_TAP_OBJECTS = $(TETHEREAL_TAP_SRC:.c=.obj)
-ETHEREAL_COMMON_OBJECTS = \
+DISSECTOR_SUPPORT_OBJECTS = \
+ adler32.obj \
afn.obj \
asn1.obj \
- capture_stop_conditions.obj \
- capture-wpcap.obj \
- cfile.obj \
column.obj \
- conditions.obj \
+ crc32.obj \
crypt-des.obj \
crypt-md4.obj \
crypt-md5.obj \
crypt-rc4.obj \
follow.obj \
g711.obj \
- getopt.obj \
+ h225-persistentdata.obj \
in_cksum.obj \
ipproto.obj \
packet-dcerpc-nt.obj \
- pcap-util.obj \
prefs.obj \
- print.obj \
- ps.obj \
ptvcursor.obj \
reassemble.obj \
+ req_resp_hdrs.obj \
+ t35.obj \
+ tap.obj \
+ util.obj \
+ xdlc.obj \
+ xmlstub.obj
+
+BUILT_SOURCES = \
+ cvsversion.h \
+ x11-declarations.h \
+ x11-register-info.h
+
+ETHEREAL_COMMON_OBJECTS = \
+ $(DISSECTOR_SUPPORT_OBJECTS) \
+ capture_stop_conditions.obj \
+ capture-wpcap.obj \
+ cfile.obj \
+ conditions.obj \
+ disabled_protos.obj \
+ getopt.obj \
+ pcap-util.obj \
+ print.obj \
+ ps.obj \
+ range.obj \
register.obj \
ringbuffer.obj \
- tap.obj \
timestats.obj \
- util.obj \
- xdlc.obj \
- xmlstub.obj \
+ version_info.obj
ethereal_OBJECTS = \
$(DISSECTOR_OBJECTS) \
dftest_OBJECTS = \
$(DISSECTOR_OBJECTS) \
- $(ETHEREAL_COMMON_OBJECTS) \
+ $(DISSECTOR_SUPPORT_OBJECTS) \
dftest.obj
randpkt_OBJECTS = \
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 \
-!IFDEF ADNS_DIR
- $(ADNS_DIR)\adns_win32\lib\adns_dll.lib \
-!ENDIF
- $(NET_SNMP_DIR)\win32\lib\libsnmp.lib
+ $(GTK_LIBS) \
+ $(ADNS_LIBS) \
+ $(PCRE_LIBS) \
+ $(NET_SNMP_DIR)\win32\lib\netsnmp.lib
# $(PCAP_DIR)\lib\wpcap.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 \
-!IFDEF ADNS_DIR
- $(ADNS_DIR)\adns_win32\lib\adns_dll.lib \
-!ENDIF
- $(NET_SNMP_DIR)\win32\lib\libsnmp.lib
+ $(GLIB_LIBS) \
+ $(ADNS_LIBS) \
+ $(PCRE_LIBS) \
+ $(NET_SNMP_DIR)\win32\lib\netsnmp.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
+ $(GLIB_LIBS)
mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib \
- $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
- $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+ $(GLIB_LIBS)
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
+ $(GLIB_LIBS)
randpkt_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
user32.lib \
- $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib \
- $(NET_SNMP_DIR)\win32\lib\libsnmp.lib
+ $(GLIB_LIBS) \
+ $(NET_SNMP_DIR)\win32\lib\netsnmp.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)
+all: tools wiretap gtk epan image $(EXECUTABLES) $(RESOURCES) doc
$(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
+ethereal.exe : config.h cvsversion.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) epan image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
+tethereal.exe : config.h cvsversion.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
/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
+mergecap.exe : config.h cvsversion.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
/OUT:randpkt.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(randpkt_LIBS) $(randpkt_OBJECTS)
<<
-config.h : config.h.win32
- sed -e s/@VERSION@/$(VERSION)/ < config.h.win32 > $@
+config.h : config.h.win32 config.nmake
+ sed -e s/@VERSION@/$(VERSION)/ \
+ -e "s/@HAVE_GNU_ADNS@/$(ADNS_CONFIG)/" \
+ -e "s/@HAVE_PCRE@/$(PCRE_CONFIG)/" \
+ -e "s/@HAVE_LIBZ@/$(ZLIB_CONFIG)/" \
+ -e "s/@HAVE_LIBPCAP@/$(WINPCAP_CONFIG)/" \
+ -e "s/@HAVE_PCAP_FINDALLDEVS@/$(PCAP_FINDALLDEVS_CONFIG)/" \
+ -e "s/@WPCAP_CONSTIFIED@/$(WPCAP_CONSTIFIED_CONFIG)/" \
+ < config.h.win32 > $@
ps.c : rdps.exe print.ps
rdps print.ps ps.c
+
+#
+# Build the version string
+#
+cvsversion.h:
+ $(PERL) make-version.pl
+
#
# The header files listed here are built from x11-fields using Perl;
# we declare a dependency here so that they get built.
rm -f $(ethereal_OBJECTS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) \
$(EXECUTABLES) $(PDB_FILE) \
editcap.obj mergecap.obj text2pcap.obj \
- text2pcap-scanner.obj text2pcap-scanner.c register.c \
- rdps.obj rdps.pdb config.h ps.c \
+ text2pcap-scanner.obj text2pcap-scanner.c rdps.obj \
+ rdps.pdb config.h ps.c \
rdps.exe rdps.ilk dftest.obj dftest.exe randpkt.obj randpkt.ext \
$(RESOURCES)
cd wiretap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../doc
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+ cd ../help
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../packaging/nsis
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../..
# Call distclean only, if you would like to remove ALL generated files.
# Be sure to have python and perl installed to regenerate them.
distclean: clean
- rm -f x11-declarations.h x11-register-info.h packet-ncp2222.c
+ rm -f $(BUILT_SOURCES) \
+ packet-ncp2222.c register.c tethereal-tap-register.c
+ cd wiretap
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../gtk
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../epan
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../plugins
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../tools
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../image
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../doc
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../help
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../packaging/nsis
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../..
tools::
cd tools
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
-gtk:: config.h
+gtk:: help config.h
cd gtk
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
cd plugins
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
+
+doc::
+ cd doc
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
+ cd ..
+
+help::
+ cd help
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
+ cd ..