## Makefile for building ethereal.exe with Microsoft C and nmake ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # # $Id: Makefile.nmake,v 1.179 2002/04/15 21:47:59 guy Exp $ include config.nmake include ############### no need to modify below this line ######### CC = cl 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) /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 .c.obj:: $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $< DISSECTOR_SRC = \ packet-aarp.c \ packet-afs.c \ packet-aim.c \ packet-arp.c \ packet-ascend.c\ packet-asap.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-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-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 \ 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-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 \ packet-ipp.c \ packet-ipsec.c \ packet-ipv6.c \ 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-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 \ packet-null.c \ 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 \ 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-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 \ packet-smb-common.c \ 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-sua.c \ packet-syslog.c \ packet-tacacs.c \ packet-tcp.c \ packet-telnet.c\ packet-tftp.c \ packet-time.c \ packet-tns.c \ 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 \ 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-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_SRC:.c=.obj) ETHEREAL_COMMON_OBJECTS = \ afn.obj \ asn1.obj \ capture_stop_conditions.obj \ capture-wpcap.obj \ column.obj \ conditions.obj \ follow.obj \ getopt.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 \ util.obj \ xdlc.obj \ xmlstub.obj \ ethereal_OBJECTS = \ $(DISSECTOR_OBJECTS) \ $(ETHEREAL_COMMON_OBJECTS) \ 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 \ strptime.obj 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\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 editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \ wsock32.lib user32.lib \ $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \ $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).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 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) $(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) 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 << editcap.exe : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res @echo Linking $@ $(LINK) @<< /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 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 packet-ncp2222.c !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) $(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 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean cd ../epan $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean cd ../plugins $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean cd ../tools $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean 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:: config.h cd gtk $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake cd .. epan:: cd epan $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake cd .. plugins:: cd plugins $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake cd ..