## Makefile for building ethereal.exe with Microsoft C and nmake
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
#
-# $Id: Makefile.nmake,v 1.345 2003/10/10 09:48:54 guy 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) $(GTK_CFLAGS) /I. /Iwiretap \
- /I$(ZLIB_DIR) /I$(PCAP_DIR)\include \
+ $(ZLIB_CFLAGS) /I$(PCAP_DIR)\include \
/I$(NET_SNMP_DIR)\include /I$(NET_SNMP_DIR)\win32 \
- $(ADNS_CFLAGS) -D_U_=""
+ $(ADNS_CFLAGS) $(PCRE_CFLAGS) -D_U_=""
CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
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-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-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-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-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-fcip.c \
packet-fclctl.c \
packet-fcp.c \
+ packet-fcsb3.c \
+ packet-fcsp.c \
packet-fcswils.c \
packet-fddi.c \
packet-fix.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-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-isis-lsp.c \
packet-isis-snp.c \
packet-isl.c \
+ packet-ismp.c \
packet-isns.c \
packet-isup.c \
packet-iua.c \
packet-kadm5.c \
packet-kerberos.c \
packet-klm.c \
+ packet-kpasswd.c \
packet-l2tp.c \
packet-lapb.c \
packet-lapbether.c \
packet-mtp2.c \
packet-mtp3.c \
packet-mtp3mg.c \
+ packet-multipart.c \
packet-mysql.c \
packet-nbipx.c \
packet-nbns.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-ppp.c \
packet-pppoe.c \
packet-pptp.c \
+ packet-pres.c \
packet-prism.c \
packet-q2931.c \
packet-q931.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-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 \
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 \
- disabled_protos.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 \
- register.obj \
- ringbuffer.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 \
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 = \
wsock32.lib user32.lib \
$(GTK_LIBS) \
$(ADNS_LIBS) \
- $(NET_SNMP_DIR)\win32\lib\libsnmp.lib
+ $(PCRE_LIBS) \
+ $(NET_SNMP_DIR)\win32\lib\netsnmp.lib
# $(PCAP_DIR)\lib\wpcap.lib
tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib \
$(GLIB_LIBS) \
$(ADNS_LIBS) \
- $(NET_SNMP_DIR)\win32\lib\libsnmp.lib
+ $(PCRE_LIBS) \
+ $(NET_SNMP_DIR)\win32\lib\netsnmp.lib
editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib \
randpkt_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
user32.lib \
$(GLIB_LIBS) \
- $(NET_SNMP_DIR)\win32\lib\libsnmp.lib
+ $(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
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)/" \
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 ..