## Makefile for building ethereal.exe with Microsoft C and nmake
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
#
-# $Id: Makefile.nmake,v 1.372 2003/12/08 22:28:53 guy Exp $
+# $Id: Makefile.nmake,v 1.409 2004/03/02 18:55:30 ulfl 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 \
+CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) $(GLIB_CFLAGS) /I. /Iwiretap \
$(ZLIB_CFLAGS) /I$(PCAP_DIR)\include \
/I$(NET_SNMP_DIR)\include /I$(NET_SNMP_DIR)\win32 \
$(ADNS_CFLAGS) $(PCRE_CFLAGS) -D_U_=""
CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
.c.obj::
- $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
-
-DISSECTOR_SRC = \
- packet-aarp.c \
- packet-acap.c \
- packet-afp.c \
- 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-asap.c \
- packet-ascend.c\
- packet-asf.c \
- packet-atalk.c \
- packet-atm.c \
- packet-auto_rp.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-dccp.c \
- packet-dcerpc.c \
- packet-dcerpc-afs4int.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-cprpc_server.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-nspi.c \
- packet-dcerpc-oxid.c \
- packet-dcerpc-reg.c \
- packet-dcerpc-remact.c \
- packet-dcerpc-rep_proc.c \
- packet-dcerpc-roverride.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-rsec_login.c \
- packet-dcerpc-samr.c \
- packet-dcerpc-secidmap.c \
- packet-dcerpc-spoolss.c \
- packet-dcerpc-srvsvc.c \
- packet-dcerpc-svcctl.c \
- packet-dcerpc-tapi.c \
- packet-dcerpc-tkn4int.c \
- packet-dcerpc-ubikdisk.c \
- packet-dcerpc-ubikvote.c \
- packet-dcerpc-update.c \
- packet-dcerpc-wkssvc.c \
- packet-ddtp.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-dsi.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-ethertype.c \
- packet-fc.c \
- packet-fcct.c \
- packet-fcdns.c \
- packet-fcels.c \
- packet-fcfcs.c \
- packet-fcfzs.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-fr.c \
- packet-frame.c \
- packet-ftp.c \
- packet-fw1.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-http.c \
- packet-hyperscsi.c \
- packet-iapp.c \
- packet-ib.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-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-irc.c \
- packet-isakmp.c\
- packet-iscsi.c \
- packet-isdn.c \
- packet-isis.c \
- packet-isis-clv.c \
- packet-isis-hello.c \
- packet-isis-lsp.c \
- packet-isis-snp.c \
- packet-isl.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-m3ua.c \
- packet-mbtcp.c \
- packet-mdshdr.c \
- packet-mip.c \
- packet-mip6.c \
- packet-mmse.c \
- packet-mount.c \
- packet-mpeg1.c \
- packet-mpls.c \
- packet-mrdisc.c \
- packet-msdp.c \
- packet-msn-messenger.c \
- packet-msnip.c \
- packet-msproxy.c \
- packet-mtp2.c \
- packet-mtp3.c \
- packet-mtp3mg.c \
- packet-mysql.c \
- packet-nbipx.c \
- packet-nbns.c \
- packet-ncp.c \
- packet-ncp2222.c \
- packet-ndmp.c \
- packet-ndps.c \
- packet-netbios.c \
- packet-netflow.c \
- packet-nfs.c \
- packet-nfsacl.c \
- packet-nfsauth.c \
- packet-nisplus.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-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-pop.c \
- packet-portmap.c \
- packet-ppp.c \
- packet-pppoe.c \
- packet-pptp.c \
- packet-prism.c \
- packet-q2931.c \
- packet-q931.c \
- packet-q933.c \
- packet-qllc.c \
- packet-quake.c \
- packet-quake2.c \
- packet-quake3.c \
- packet-quakeworld.c \
- packet-radius.c\
- packet-ranap.c \
- packet-raw.c \
- packet-rip.c \
- packet-ripng.c \
- packet-rlogin.c \
- packet-rmcp.c \
- packet-rmi.c \
- packet-rmp.c \
- packet-rpc.c \
- packet-rpl.c \
- packet-rquota.c \
- packet-rsh.c \
- packet-rstat.c \
- packet-rsvp.c \
- packet-rsync.c \
- packet-rtcp.c \
- packet-rtp.c \
- packet-rtp-events.c \
- packet-rtsp.c \
- packet-rwall.c \
- packet-rx.c \
- packet-sadmind.c \
- packet-sap.c \
- packet-sccp.c \
- packet-sccpmg.c \
- packet-scsi.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-sll.c \
- packet-slowprotocols.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-smb-sidsnooping.c \
- packet-smpp.c \
- packet-smtp.c \
- packet-sna.c \
- packet-snaeth.c \
- packet-snmp.c \
- packet-socks.c \
- packet-spnego.c \
- packet-spray.c \
- packet-srvloc.c \
- packet-sscop.c \
- packet-ssh.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-tftp.c \
- packet-time.c \
- packet-tns.c \
- packet-tpkt.c \
- packet-tr.c \
- packet-trmac.c \
- packet-tsp.c \
- packet-tzsp.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-wap.c \
- packet-wbxml.c \
- packet-wccp.c \
- packet-wcp.c \
- packet-wfleet-hdlc.c \
- packet-who.c \
- packet-wlancap.c \
- packet-wsp.c \
- packet-wtls.c \
- packet-wtp.c \
- packet-x11.c \
- packet-x25.c \
- packet-x29.c \
- packet-xdmcp.c \
- packet-xot.c \
- packet-xyplex.c \
- packet-yhoo.c \
- packet-ymsg.c \
- packet-ypbind.c \
- packet-yppasswd.c \
- packet-ypserv.c \
- packet-ypxfr.c \
- packet-zebra.c
-
-DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
-
-TETHEREAL_TAP_SRC = \
- tap-ansi_astat.c \
- tap-bootpstat.c \
- tap-dcerpcstat.c \
- tap-h225counter.c \
- tap-h225rassrt.c \
- tap-httpstat.c \
- tap-iostat.c \
- tap-iousers.c \
- tap-mgcpstat.c \
- tap-protocolinfo.c \
- tap-protohierstat.c \
- tap-rpcstat.c \
- tap-rpcprogs.c \
- tap-smbsids.c \
- tap-smbstat.c \
- tap-wspstat.c
-
-TETHEREAL_TAP_OBJECTS = $(TETHEREAL_TAP_SRC:.c=.obj)
-
-ETHEREAL_COMMON_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 \
- t35.obj \
- tap.obj \
- timestats.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_TAP_OBJECTS) \
- tethereal-tap-register.obj \
- tethereal.obj
-
-dftest_OBJECTS = \
- $(DISSECTOR_OBJECTS) \
- $(ETHEREAL_COMMON_OBJECTS) \
- dftest.obj
-
-randpkt_OBJECTS = \
- randpkt.obj
+ $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
+
+PLATFORM_SRC = capture-wpcap.c
+
+include Makefile.common
+
+ethereal_OBJECTS = $(ethereal_SOURCES:.c=.obj)
+
+tethereal_OBJECTS = $(tethereal_SOURCES:.c=.obj)
+
+dftest_OBJECTS = $(dftest_SOURCES:.c=.obj)
+
+randpkt_OBJECTS = $(randpkt_SOURCES:.c=.obj)
EXTRA_OBJECTS = \
# snprintf.obj \
strptime.obj
ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
- gtk\libui.lib epan\ethereal.lib \
+ epan\ethereal.lib \
epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
wsock32.lib user32.lib \
- $(GTK_LIBS) \
$(ADNS_LIBS) \
$(PCRE_LIBS) \
+ $(ZLIB_LIBS) \
$(NET_SNMP_DIR)\win32\lib\netsnmp.lib
# $(PCAP_DIR)\lib\wpcap.lib
$(GLIB_LIBS) \
$(ADNS_LIBS) \
$(PCRE_LIBS) \
+ $(ZLIB_LIBS) \
$(NET_SNMP_DIR)\win32\lib\netsnmp.lib
editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
wsock32.lib user32.lib \
wiretap\wiretap-$(WTAP_VERSION).lib \
- $(GLIB_LIBS)
+ $(GLIB_LIBS) \
+ $(ADNS_LIBS) \
+ $(PCRE_LIBS) \
+ $(ZLIB_LIBS) \
+ $(NET_SNMP_DIR)\win32\lib\netsnmp.lib
randpkt_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
user32.lib \
$(GLIB_LIBS) \
$(NET_SNMP_DIR)\win32\lib\netsnmp.lib
-EXECUTABLES=ethereal.exe tethereal.exe editcap.exe mergecap.exe text2pcap.exe
+EXECUTABLES=ethereal.exe ethereal-gtk2.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 doc $(EXECUTABLES) $(RESOURCES)
+all: tools wiretap epan image $(EXECUTABLES) $(RESOURCES) doc
+
+packaging: all
+ cd packaging
+ cd nsis
+ nmake -f makefile.nmake
+ cd ..
+ cd ..
+
+seperate_packaging: all
+ cd packaging
+ cd nsis
+!IFDEF GTK1_DIR
+ nmake -f makefile.nmake GTK1_ONLY="USE"
+!ENDIF
+!IFDEF GTK2_DIR
+ nmake -f makefile.nmake GTK2_ONLY="USE"
+!ENDIF
+ cd ..
+ cd ..
$(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
+!IFNDEF GTK1_DIR
+ethereal.exe :
+!ELSE
+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
+ /OUT:ethereal.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(GTK1_LIBS) gtk\libui.lib $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
<<
+!ENDIF
-tethereal.exe : config.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) epan image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
+!IFNDEF GTK2_DIR
+ethereal-gtk2.exe :
+!ELSE
+ethereal-gtk2.exe : config.h cvsversion.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) epan gtk2 image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk2.tmp\libui.lib plugins
+ @echo Linking $@
+ $(LINK) @<<
+ /OUT:ethereal-gtk2.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(GTK2_LIBS) gtk2.tmp\libui.lib $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
+<<
+!ENDIF
+
+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
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.
touch packet-ncp.c $@
!ENDIF
-#
-# Build "register.c", which contains a function "register_all_protocols()"
-# that calls the register routines for all protocols.
-#
-# We do this by grepping through sources. If that turns out to be too slow,
-# maybe we could just require every .o file to have an register routine
-# of a given name (packet-aarp.o -> proto_register_aarp, etc.).
-#
-# Formatting conventions: The name of the proto_register_* routines must
-# start in column zero, or must be preceded only by "void " starting in
-# column zero, and must not be inside #if.
-#
-# We assume that all dissector routines are in "packet-XXX.c" files.
-#
-# For some unknown reason, having a big "for" loop in the Makefile
-# to scan all the "packet-XXX.c" files doesn't work with some "make"s;
-# they seem to pass only the first few names in the list to the shell,
-# for some reason.
-#
-# Therefore, we have a script to generate the "register.c" file.
-#
-# The first argument is the name of the file to write.
-# The second argument is the directory in which the source files live.
-# All subsequent arguments are the files to scan.
-#
-# On Windows, however, that script runs slowly, as multiple greps
-# and seds are run for each input file, so, if Python is present
-# (as indicated by PYTHON being defined), we run a faster Python
-# script to do that work instead. That script doesn't take the name
-# of the file to write as an argument; it always writes to
-# "register.c".
-#
-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
-
#
# Build "tethereal-tap-register.c", which contains a function
# "register_all_tap_listeners()"
text2pcap-scanner.c : text2pcap-scanner.l
$(LEX) -otext2pcap-scanner.c text2pcap-scanner.l
-clean:
+gtk2_distclean:
+ rm -f gtk2.tmp/*.*
+ if exist gtk2.tmp rmdir gtk2.tmp
+
+clean: gtk2_distclean
rm -f $(ethereal_OBJECTS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) \
$(EXECUTABLES) $(PDB_FILE) \
- editcap.obj mergecap.obj text2pcap.obj \
+ editcap.obj mergecap.obj text2pcap.obj getopt.obj\
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 \
# 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 \
- register.c tethereal-tap-register.c
+distclean: clean gtk2_distclean
+ rm -f $(BUILT_SOURCES) \
+ packet-ncp2222.c tethereal-tap-register.c
cd wiretap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../gtk
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
-gtk:: help config.h
+gtk:: help config.h cvsversion.h
cd gtk
- $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
+ $(MAKE) /$(MAKEFLAGS) /f Makefile.nmake GTK_CFLAGS="$(GTK1_CFLAGS)" GTK_LIBS="$(GTK1_LIBS)" libui.lib
+ cd ..
+
+# copy all required files to gtk2.tmp (but only when newer than existing) and compile in that dir
+gtk2:: help config.h cvsversion.h
+ if not exist gtk2.tmp mkdir gtk2.tmp
+ cd gtk
+ cp --update --preserve Makefile.* *.c *.h ..\gtk2.tmp
+ cd ..\gtk2.tmp
+ $(MAKE) /$(MAKEFLAGS) /f Makefile.nmake GTK_CFLAGS="$(GTK2_CFLAGS)" GTK_LIBS="$(GTK2_LIBS)" libui.lib
cd ..
-epan::
+epan:: packet-ncp2222.c x11-declarations.h x11-register-info.h
cd epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..