1999-07-13 02:53:26 +00:00
|
|
|
## Makefile for building ethereal.exe with Microsoft C and nmake
|
2001-03-06 13:08:13 +00:00
|
|
|
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
|
2000-04-12 21:52:11 +00:00
|
|
|
#
|
2004-01-24 20:01:36 +00:00
|
|
|
# $Id: Makefile.nmake,v 1.397 2004/01/24 20:01:35 ulfl Exp $
|
1999-07-13 02:53:26 +00:00
|
|
|
|
2000-02-09 00:41:57 +00:00
|
|
|
include config.nmake
|
2001-03-23 02:05:29 +00:00
|
|
|
include <win32.mak>
|
1999-07-13 02:53:26 +00:00
|
|
|
|
|
|
|
############### no need to modify below this line #########
|
|
|
|
|
|
|
|
CC = cl
|
1999-07-21 17:40:42 +00:00
|
|
|
LINK= link
|
|
|
|
|
On Win32, build Ethereal as a Windows-subsystem program rather than a
console-subsystem program, so that when not run from a shell window it
doesn't cause a shell window to be popped up. (Yes, this means that any
messages it prints, when not popped up from a shell window, get lost,
but the same is true of Ethereal on UNIX/X.) Trick for doing this
shamelessly stolen from the Win32 port of the GIMP.
We do not want to build Tethereal or editcap as Windows-subsystem
programs, however, so we take the "/SUBSYSTEM" flag out of LDFLAGS and
put it into the link commands for Ethereal, Tethereal, and editcap.
svn path=/trunk/; revision=1857
2000-04-14 09:00:25 +00:00
|
|
|
LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)
|
1999-07-13 02:53:26 +00:00
|
|
|
|
2004-01-24 20:01:36 +00:00
|
|
|
CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) $(GLIB_CFLAGS) /I. /Iwiretap \
|
2003-11-07 23:27:13 +00:00
|
|
|
$(ZLIB_CFLAGS) /I$(PCAP_DIR)\include \
|
2002-10-09 03:07:34 +00:00
|
|
|
/I$(NET_SNMP_DIR)\include /I$(NET_SNMP_DIR)\win32 \
|
2003-12-07 00:04:32 +00:00
|
|
|
$(ADNS_CFLAGS) $(PCRE_CFLAGS) -D_U_=""
|
1999-07-13 02:53:26 +00:00
|
|
|
|
2001-03-23 02:05:29 +00:00
|
|
|
CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
|
|
|
|
|
2001-12-12 01:29:13 +00:00
|
|
|
.c.obj::
|
|
|
|
$(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
|
2000-05-29 20:11:41 +00:00
|
|
|
|
2004-01-21 21:46:59 +00:00
|
|
|
include Makefile.common
|
2000-04-29 07:35:07 +00:00
|
|
|
|
2001-05-11 00:39:57 +00:00
|
|
|
DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
|
2000-01-15 00:23:13 +00:00
|
|
|
|
2002-10-31 22:16:01 +00:00
|
|
|
TETHEREAL_TAP_SRC = \
|
2003-12-01 23:05:09 +00:00
|
|
|
tap-ansi_astat.c \
|
2003-09-02 22:47:59 +00:00
|
|
|
tap-bootpstat.c \
|
2002-10-31 22:16:01 +00:00
|
|
|
tap-dcerpcstat.c \
|
2003-12-09 18:49:32 +00:00
|
|
|
tap-gsm_astat.c \
|
2003-10-28 00:31:17 +00:00
|
|
|
tap-h225counter.c \
|
2003-11-16 23:11:20 +00:00
|
|
|
tap-h225rassrt.c \
|
2003-09-02 22:47:59 +00:00
|
|
|
tap-httpstat.c \
|
2002-11-01 01:49:40 +00:00
|
|
|
tap-iostat.c \
|
2003-01-22 01:24:06 +00:00
|
|
|
tap-iousers.c \
|
2003-03-06 09:01:47 +00:00
|
|
|
tap-mgcpstat.c \
|
2002-11-04 12:11:01 +00:00
|
|
|
tap-protocolinfo.c \
|
2002-11-01 05:29:36 +00:00
|
|
|
tap-protohierstat.c \
|
2002-10-31 22:16:01 +00:00
|
|
|
tap-rpcstat.c \
|
2003-01-22 00:40:36 +00:00
|
|
|
tap-rpcprogs.c \
|
2003-06-09 10:08:05 +00:00
|
|
|
tap-smbsids.c \
|
2003-09-02 22:47:59 +00:00
|
|
|
tap-smbstat.c \
|
|
|
|
tap-wspstat.c
|
2002-10-31 22:16:01 +00:00
|
|
|
|
|
|
|
TETHEREAL_TAP_OBJECTS = $(TETHEREAL_TAP_SRC:.c=.obj)
|
|
|
|
|
2004-01-11 22:17:43 +00:00
|
|
|
DISSECTOR_SUPPORT_OBJECTS = \
|
2003-08-21 18:00:22 +00:00
|
|
|
adler32.obj \
|
There is really no need to have the BGP dissector and the LDP dissector
have two independent "value_string" tables mapping RFC 1700 address
family numbers to names, nor is there any need to have the BGP dissector
and the PIM dissector have two independent sets of #defines for RFC 1700
address family numbers; put a single "value_string" table in "afn.c" and
put a declaration of it, and #defines for the address family numbers,
into "afn.h", and have the dissectors use that.
Move the #define for PGM into "ipproto.h", and add an entry for it in
the "value_string" table in "ipproto.c".
Have the PGM dissector use the standard Ethereal mechanisms for
resolving addresses, and have it use "value_string" tables for mapping
option types, the OPX bits, and packet types to strings. Use
"bytes_to_str()" to turn byte arrays into strings of hex digits. Pass
the packet type string to "dissect_pgmopts()" as an argument, rather
than making it a global. Don't use "proto_tree_add_XXX_format" routines
if you can possibly just use "proto_tree_add_XXX"; give various fields
the correct radix and type, and VALS() strings if necessary, to make
that happen (and to make filtering on them more pleasant). Put the
type, length, and total length of the options into the protocol tree as
separate fields. Don't have separate type, length, and OPX fields for
every type of option; one field will suffice. Don't format a string
with "sprintf()" and then pass that string to "col_add_fstr()" with a
format of "%s" and the string as an argument - "col_add_fstr()" can
format strings itself (that's what the "f" stands for). Don't byte-swap
and then un-byte-swap IPv4 address fields in the header, just leave them
network byte order to start with. Use the correct fields for
"proto_tree_add_XXX", rather than using the same field multiple times.
Quit early if an address family identifier isn't AFNUM_INET, as that
means the structure we use to dissect the header doesn't match the
actual header.
svn path=/trunk/; revision=3761
2001-07-21 10:27:13 +00:00
|
|
|
afn.obj \
|
2000-01-15 00:23:13 +00:00
|
|
|
asn1.obj \
|
2004-01-11 22:17:43 +00:00
|
|
|
column.obj \
|
2003-08-26 05:09:56 +00:00
|
|
|
crc32.obj \
|
2002-12-31 08:05:29 +00:00
|
|
|
crypt-des.obj \
|
2002-12-03 00:37:27 +00:00
|
|
|
crypt-md4.obj \
|
2002-12-18 17:44:54 +00:00
|
|
|
crypt-md5.obj \
|
2002-12-03 00:37:27 +00:00
|
|
|
crypt-rc4.obj \
|
2004-01-11 22:17:43 +00:00
|
|
|
follow.obj \
|
2003-03-06 20:35:12 +00:00
|
|
|
g711.obj \
|
2003-11-16 23:11:20 +00:00
|
|
|
h225-persistentdata.obj \
|
2000-12-13 02:24:23 +00:00
|
|
|
in_cksum.obj \
|
2000-01-15 00:23:13 +00:00
|
|
|
ipproto.obj \
|
2003-01-24 05:41:33 +00:00
|
|
|
packet-dcerpc-nt.obj \
|
2004-01-11 22:17:43 +00:00
|
|
|
prefs.obj \
|
2004-01-10 04:09:14 +00:00
|
|
|
ptvcursor.obj \
|
|
|
|
reassemble.obj \
|
|
|
|
req_resp_hdrs.obj \
|
|
|
|
t35.obj \
|
2004-01-11 22:17:43 +00:00
|
|
|
tap.obj \
|
|
|
|
util.obj \
|
|
|
|
xdlc.obj \
|
|
|
|
xmlstub.obj
|
2004-01-10 04:09:14 +00:00
|
|
|
|
2004-01-18 03:55:02 +00:00
|
|
|
BUILT_SOURCES = \
|
|
|
|
cvsversion.h \
|
|
|
|
x11-declarations.h \
|
|
|
|
x11-register-info.h
|
|
|
|
|
2004-01-10 04:09:14 +00:00
|
|
|
ETHEREAL_COMMON_OBJECTS = \
|
2004-01-11 22:17:43 +00:00
|
|
|
$(DISSECTOR_SUPPORT_OBJECTS) \
|
2004-01-10 04:09:14 +00:00
|
|
|
capture_stop_conditions.obj \
|
|
|
|
capture-wpcap.obj \
|
|
|
|
cfile.obj \
|
|
|
|
conditions.obj \
|
|
|
|
disabled_protos.obj \
|
|
|
|
getopt.obj \
|
2001-11-09 07:44:51 +00:00
|
|
|
pcap-util.obj \
|
2000-01-15 00:23:13 +00:00
|
|
|
print.obj \
|
|
|
|
ps.obj \
|
2003-12-29 22:43:33 +00:00
|
|
|
range.obj \
|
2000-01-15 00:23:13 +00:00
|
|
|
register.obj \
|
2001-12-04 08:26:00 +00:00
|
|
|
ringbuffer.obj \
|
2003-04-16 07:25:12 +00:00
|
|
|
timestats.obj \
|
2004-01-12 08:55:38 +00:00
|
|
|
version_info.obj
|
2000-01-15 00:23:13 +00:00
|
|
|
|
|
|
|
ethereal_OBJECTS = \
|
|
|
|
$(DISSECTOR_OBJECTS) \
|
|
|
|
$(ETHEREAL_COMMON_OBJECTS) \
|
2001-04-03 05:26:27 +00:00
|
|
|
capture.obj \
|
|
|
|
file.obj \
|
|
|
|
filters.obj \
|
2001-03-22 23:54:47 +00:00
|
|
|
proto_hier_stats.obj \
|
2001-04-03 05:26:27 +00:00
|
|
|
summary.obj
|
2000-01-15 00:23:13 +00:00
|
|
|
|
2000-04-12 21:52:11 +00:00
|
|
|
tethereal_OBJECTS = \
|
|
|
|
$(DISSECTOR_OBJECTS) \
|
|
|
|
$(ETHEREAL_COMMON_OBJECTS) \
|
2002-10-31 22:16:01 +00:00
|
|
|
$(TETHEREAL_TAP_OBJECTS) \
|
|
|
|
tethereal-tap-register.obj \
|
2000-04-12 21:52:11 +00:00
|
|
|
tethereal.obj
|
|
|
|
|
2001-02-11 03:19:45 +00:00
|
|
|
dftest_OBJECTS = \
|
|
|
|
$(DISSECTOR_OBJECTS) \
|
2004-01-11 22:17:43 +00:00
|
|
|
$(DISSECTOR_SUPPORT_OBJECTS) \
|
2001-02-11 03:19:45 +00:00
|
|
|
dftest.obj
|
|
|
|
|
2002-10-16 14:45:27 +00:00
|
|
|
randpkt_OBJECTS = \
|
|
|
|
randpkt.obj
|
|
|
|
|
2000-04-12 21:52:11 +00:00
|
|
|
EXTRA_OBJECTS = \
|
2001-03-23 02:05:29 +00:00
|
|
|
# snprintf.obj \
|
|
|
|
# strerror.obj \
|
2001-06-02 06:21:14 +00:00
|
|
|
mkstemp.obj \
|
|
|
|
strptime.obj
|
2000-01-15 00:23:13 +00:00
|
|
|
|
2001-03-23 02:05:29 +00:00
|
|
|
ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
2004-01-24 20:01:36 +00:00
|
|
|
epan\ethereal.lib \
|
2001-02-02 04:03:43 +00:00
|
|
|
epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
|
2000-10-11 07:35:02 +00:00
|
|
|
wsock32.lib user32.lib \
|
2003-06-15 23:04:47 +00:00
|
|
|
$(ADNS_LIBS) \
|
2003-12-07 00:04:32 +00:00
|
|
|
$(PCRE_LIBS) \
|
2003-12-05 16:00:34 +00:00
|
|
|
$(NET_SNMP_DIR)\win32\lib\netsnmp.lib
|
2001-04-03 05:26:27 +00:00
|
|
|
# $(PCAP_DIR)\lib\wpcap.lib
|
1999-07-13 02:53:26 +00:00
|
|
|
|
2001-03-23 02:05:29 +00:00
|
|
|
tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
|
|
epan\ethereal.lib \
|
2001-02-02 04:03:43 +00:00
|
|
|
epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
|
2000-10-11 07:35:02 +00:00
|
|
|
wsock32.lib user32.lib \
|
2003-06-14 20:45:29 +00:00
|
|
|
$(GLIB_LIBS) \
|
2003-06-15 23:04:47 +00:00
|
|
|
$(ADNS_LIBS) \
|
2003-12-07 00:04:32 +00:00
|
|
|
$(PCRE_LIBS) \
|
2003-12-05 16:00:34 +00:00
|
|
|
$(NET_SNMP_DIR)\win32\lib\netsnmp.lib
|
2000-04-12 21:52:11 +00:00
|
|
|
|
2001-03-23 02:05:29 +00:00
|
|
|
editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
|
|
wsock32.lib user32.lib \
|
2003-06-14 20:45:29 +00:00
|
|
|
$(GLIB_LIBS)
|
2000-04-12 21:52:11 +00:00
|
|
|
|
2001-07-12 19:59:41 +00:00
|
|
|
mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
|
|
wsock32.lib user32.lib \
|
2003-06-14 20:45:29 +00:00
|
|
|
$(GLIB_LIBS)
|
2001-07-12 19:59:41 +00:00
|
|
|
|
2002-01-30 22:41:00 +00:00
|
|
|
dftest_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib epan\ethereal.lib \
|
2001-02-11 03:19:45 +00:00
|
|
|
epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
|
|
|
|
wsock32.lib user32.lib \
|
2002-03-01 06:52:14 +00:00
|
|
|
wiretap\wiretap-$(WTAP_VERSION).lib \
|
2003-06-14 20:45:29 +00:00
|
|
|
$(GLIB_LIBS)
|
2001-02-11 03:19:45 +00:00
|
|
|
|
2002-10-16 14:45:27 +00:00
|
|
|
randpkt_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
|
|
user32.lib \
|
2003-06-14 20:45:29 +00:00
|
|
|
$(GLIB_LIBS) \
|
2003-12-05 16:00:34 +00:00
|
|
|
$(NET_SNMP_DIR)\win32\lib\netsnmp.lib
|
2002-10-16 14:45:27 +00:00
|
|
|
|
2004-01-24 20:01:36 +00:00
|
|
|
EXECUTABLES=ethereal.exe ethereal2.exe tethereal.exe editcap.exe mergecap.exe text2pcap.exe
|
1999-07-13 02:53:26 +00:00
|
|
|
|
2001-07-12 19:59:41 +00:00
|
|
|
RESOURCES=image\ethereal.res image\tethereal.res image\editcap.res image\mergecap.res image\text2pcap.res
|
2000-04-12 21:52:11 +00:00
|
|
|
|
2004-01-24 20:01:36 +00:00
|
|
|
all: tools wiretap epan image $(EXECUTABLES) $(RESOURCES) doc
|
2000-04-15 04:10:50 +00:00
|
|
|
|
2002-01-04 21:20:20 +00:00
|
|
|
$(RESOURCES): image
|
|
|
|
|
|
|
|
wiretap\wiretap-$(WTAP_VERSION).lib: wiretap
|
|
|
|
|
2004-01-24 20:01:36 +00:00
|
|
|
!IFNDEF GTK1_DIR
|
|
|
|
ethereal.exe :
|
|
|
|
!ELSE
|
2004-01-17 18:52:07 +00:00
|
|
|
ethereal.exe : config.h cvsversion.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) epan gtk image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk\libui.lib plugins
|
2000-06-16 15:05:26 +00:00
|
|
|
@echo Linking $@
|
2000-04-12 21:52:11 +00:00
|
|
|
$(LINK) @<<
|
2004-01-24 20:01:36 +00:00
|
|
|
/OUT:ethereal.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(GTK1_LIBS) gtk\libui.lib $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
|
|
|
|
<<
|
|
|
|
!ENDIF
|
|
|
|
|
|
|
|
!IFNDEF GTK2_DIR
|
|
|
|
ethereal2.exe :
|
|
|
|
!ELSE
|
|
|
|
ethereal2.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:ethereal2.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(GTK2_LIBS) gtk2.tmp\libui.lib $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
|
2000-04-12 21:52:11 +00:00
|
|
|
<<
|
2004-01-24 20:01:36 +00:00
|
|
|
!ENDIF
|
2000-04-12 21:52:11 +00:00
|
|
|
|
2004-01-17 18:52:07 +00:00
|
|
|
tethereal.exe : config.h cvsversion.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) epan image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
|
2000-06-16 15:05:26 +00:00
|
|
|
@echo Linking $@
|
1999-07-21 17:40:42 +00:00
|
|
|
$(LINK) @<<
|
2001-03-23 02:05:29 +00:00
|
|
|
/OUT:tethereal.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(tethereal_LIBS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res
|
2000-04-12 21:52:11 +00:00
|
|
|
<<
|
|
|
|
|
2001-03-23 02:05:29 +00:00
|
|
|
editcap.exe : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res
|
2000-06-16 15:05:26 +00:00
|
|
|
@echo Linking $@
|
2000-04-12 21:52:11 +00:00
|
|
|
$(LINK) @<<
|
2001-03-23 02:05:29 +00:00
|
|
|
/OUT:editcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console editcap.obj getopt.obj $(editcap_LIBS) image\editcap.res
|
1999-07-21 17:40:42 +00:00
|
|
|
<<
|
1999-07-13 02:53:26 +00:00
|
|
|
|
2004-01-17 18:52:07 +00:00
|
|
|
mergecap.exe : config.h cvsversion.h mergecap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\mergecap.res
|
2001-07-12 19:59:41 +00:00
|
|
|
@echo Linking $@
|
|
|
|
$(LINK) @<<
|
|
|
|
/OUT:mergecap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console mergecap.obj getopt.obj $(mergecap_LIBS) image\mergecap.res
|
|
|
|
<<
|
|
|
|
|
2001-11-24 08:14:12 +00:00
|
|
|
text2pcap.exe : config.h text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.obj image\text2pcap.res
|
2001-05-21 03:17:14 +00:00
|
|
|
@echo Linking $@
|
|
|
|
$(LINK) @<<
|
2001-11-24 21:51:40 +00:00
|
|
|
/OUT:text2pcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.obj image\text2pcap.res
|
2001-05-21 03:17:14 +00:00
|
|
|
<<
|
|
|
|
|
2001-02-11 03:19:45 +00:00
|
|
|
dftest.exe : $(dftest_OBJECTS) $(EXTRA_OBJECTS)
|
|
|
|
$(LINK) @<<
|
2001-03-23 02:05:29 +00:00
|
|
|
/OUT:dftest.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(dftest_LIBS) $(dftest_OBJECTS) $(EXTRA_OBJECTS)
|
2001-02-11 03:19:45 +00:00
|
|
|
<<
|
|
|
|
|
2002-10-16 14:45:27 +00:00
|
|
|
randpkt.exe : $(randpkt_OBJECTS) $(EXTRA_OBJECTS)
|
|
|
|
$(LINK) @<<
|
|
|
|
/OUT:randpkt.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(randpkt_LIBS) $(randpkt_OBJECTS)
|
|
|
|
<<
|
|
|
|
|
2003-06-12 09:45:42 +00:00
|
|
|
config.h : config.h.win32 config.nmake
|
2003-10-10 09:48:54 +00:00
|
|
|
sed -e s/@VERSION@/$(VERSION)/ \
|
|
|
|
-e "s/@HAVE_GNU_ADNS@/$(ADNS_CONFIG)/" \
|
2003-12-07 00:04:32 +00:00
|
|
|
-e "s/@HAVE_PCRE@/$(PCRE_CONFIG)/" \
|
2003-11-07 23:27:13 +00:00
|
|
|
-e "s/@HAVE_LIBZ@/$(ZLIB_CONFIG)/" \
|
2003-10-10 09:48:54 +00:00
|
|
|
-e "s/@HAVE_LIBPCAP@/$(WINPCAP_CONFIG)/" \
|
|
|
|
-e "s/@HAVE_PCAP_FINDALLDEVS@/$(PCAP_FINDALLDEVS_CONFIG)/" \
|
|
|
|
-e "s/@WPCAP_CONSTIFIED@/$(WPCAP_CONSTIFIED_CONFIG)/" \
|
|
|
|
< config.h.win32 > $@
|
1999-07-13 02:53:26 +00:00
|
|
|
|
|
|
|
ps.c : rdps.exe print.ps
|
|
|
|
rdps print.ps ps.c
|
|
|
|
|
2004-01-17 00:26:30 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# Build the version string
|
|
|
|
#
|
|
|
|
cvsversion.h:
|
2004-01-17 13:09:00 +00:00
|
|
|
$(PERL) make-version.pl
|
2004-01-17 00:26:30 +00:00
|
|
|
|
2001-04-20 04:16:19 +00:00
|
|
|
#
|
|
|
|
# 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
|
|
|
|
|
2000-07-28 20:03:59 +00:00
|
|
|
packet-ncp2222.c : ncp2222.py
|
2002-03-01 06:52:14 +00:00
|
|
|
!IFDEF PYTHON
|
2001-01-11 07:21:35 +00:00
|
|
|
@echo Making packet-ncp2222.c
|
2002-05-09 23:50:34 +00:00
|
|
|
$(PYTHON) ncp2222.py -o packet-ncp2222.c
|
2002-03-01 06:52:14 +00:00
|
|
|
!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
|
2000-07-28 20:03:59 +00:00
|
|
|
|
2002-10-31 22:16:01 +00:00
|
|
|
#
|
|
|
|
# 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".
|
|
|
|
#
|
2001-05-11 00:39:57 +00:00
|
|
|
register.c: $(DISSECTOR_SRC)
|
2002-03-01 06:52:14 +00:00
|
|
|
!IFDEF PYTHON
|
|
|
|
@echo Making register.c (using python)
|
2001-05-11 00:39:57 +00:00
|
|
|
@$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC)
|
2002-03-01 06:52:14 +00:00
|
|
|
!ELSE
|
|
|
|
@echo Making register.c (using sh)
|
2002-11-01 10:01:21 +00:00
|
|
|
@$(SH) make-reg-dotc register.c . $(DISSECTOR_SRC)
|
2002-03-01 06:52:14 +00:00
|
|
|
!ENDIF
|
2000-04-12 21:52:11 +00:00
|
|
|
|
2002-10-31 22:16:01 +00:00
|
|
|
#
|
|
|
|
# Build "tethereal-tap-register.c", which contains a function
|
|
|
|
# "register_all_tap_listeners()"
|
|
|
|
# that calls the register routines for all tehtereal tap listeners.
|
|
|
|
#
|
|
|
|
# We do this by grepping through sources.
|
|
|
|
#
|
|
|
|
# Formatting conventions: The name of the tap_listener_register_*
|
|
|
|
# routines must start in column zero, or must be preceded only by
|
|
|
|
# "void " starting in column zero, and must not be inside #if.
|
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
2002-11-14 08:09:35 +00:00
|
|
|
tethereal-tap-register.c: $(TETHEREAL_TAP_SRC) make-tapreg-dotc
|
2002-10-31 22:16:01 +00:00
|
|
|
@echo Making tethereal-tap-register.c
|
2002-11-01 10:01:21 +00:00
|
|
|
@$(SH) make-tapreg-dotc tethereal-tap-register.c . $(TETHEREAL_TAP_SRC)
|
2002-10-31 22:16:01 +00:00
|
|
|
|
2001-05-21 03:17:14 +00:00
|
|
|
text2pcap-scanner.c : text2pcap-scanner.l
|
|
|
|
$(LEX) -otext2pcap-scanner.c text2pcap-scanner.l
|
|
|
|
|
2004-01-24 20:01:36 +00:00
|
|
|
gtk2_distclean:
|
|
|
|
rm -f gtk2.tmp/*.*
|
|
|
|
if exist gtk2.tmp rmdir gtk2.tmp
|
|
|
|
|
|
|
|
clean: gtk2_distclean
|
2002-11-10 20:53:06 +00:00
|
|
|
rm -f $(ethereal_OBJECTS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) \
|
|
|
|
$(EXECUTABLES) $(PDB_FILE) \
|
|
|
|
editcap.obj mergecap.obj text2pcap.obj \
|
2003-10-10 21:31:53 +00:00
|
|
|
text2pcap-scanner.obj text2pcap-scanner.c rdps.obj \
|
|
|
|
rdps.pdb config.h ps.c \
|
2002-10-16 14:45:27 +00:00
|
|
|
rdps.exe rdps.ilk dftest.obj dftest.exe randpkt.obj randpkt.ext \
|
|
|
|
$(RESOURCES)
|
2000-04-04 08:22:13 +00:00
|
|
|
cd wiretap
|
2001-03-06 13:08:13 +00:00
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
2000-04-04 08:22:13 +00:00
|
|
|
cd ../gtk
|
2001-03-06 13:08:13 +00:00
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
2000-10-11 07:35:02 +00:00
|
|
|
cd ../epan
|
2001-03-06 13:08:13 +00:00
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
2000-04-04 08:22:13 +00:00
|
|
|
cd ../plugins
|
2001-03-06 13:08:13 +00:00
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
2001-02-02 04:03:43 +00:00
|
|
|
cd ../tools
|
2001-03-06 13:08:13 +00:00
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
2001-04-05 04:39:29 +00:00
|
|
|
cd ../image
|
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
2002-01-04 21:20:20 +00:00
|
|
|
cd ../doc
|
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
2003-11-18 23:40:12 +00:00
|
|
|
cd ../help
|
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
2003-11-24 17:41:33 +00:00
|
|
|
cd ../packaging/nsis
|
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
2002-01-04 21:20:20 +00:00
|
|
|
cd ../..
|
2001-02-02 04:03:43 +00:00
|
|
|
|
2002-09-10 08:28:14 +00:00
|
|
|
# Call distclean only, if you would like to remove ALL generated files.
|
|
|
|
# Be sure to have python and perl installed to regenerate them.
|
2004-01-24 20:01:36 +00:00
|
|
|
distclean: clean gtk2_distclean
|
2004-01-18 03:55:02 +00:00
|
|
|
rm -f $(BUILT_SOURCES) \
|
2004-01-17 18:52:07 +00:00
|
|
|
packet-ncp2222.c register.c tethereal-tap-register.c
|
2003-10-10 21:31:53 +00:00
|
|
|
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
|
2003-11-18 23:40:12 +00:00
|
|
|
cd ../help
|
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
|
2003-11-24 17:41:33 +00:00
|
|
|
cd ../packaging/nsis
|
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
|
2003-10-10 21:31:53 +00:00
|
|
|
cd ../..
|
2002-09-10 08:28:14 +00:00
|
|
|
|
2001-02-02 04:03:43 +00:00
|
|
|
tools::
|
|
|
|
cd tools
|
2001-03-06 13:08:13 +00:00
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
2000-04-04 08:22:13 +00:00
|
|
|
cd ..
|
2000-02-09 00:41:57 +00:00
|
|
|
|
2001-04-05 04:39:29 +00:00
|
|
|
image::
|
|
|
|
cd image
|
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
|
|
|
cd ..
|
|
|
|
|
2000-02-09 19:18:42 +00:00
|
|
|
wiretap::
|
2000-02-09 00:41:57 +00:00
|
|
|
cd wiretap
|
2001-03-06 13:08:13 +00:00
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
2000-02-09 00:41:57 +00:00
|
|
|
cd ..
|
|
|
|
|
2004-01-19 21:00:13 +00:00
|
|
|
gtk:: help config.h cvsversion.h
|
2000-02-09 00:41:57 +00:00
|
|
|
cd gtk
|
2004-01-24 20:01:36 +00:00
|
|
|
$(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::
|
|
|
|
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
|
2000-02-09 00:41:57 +00:00
|
|
|
cd ..
|
|
|
|
|
2000-10-11 07:35:02 +00:00
|
|
|
epan::
|
|
|
|
cd epan
|
2001-03-06 13:08:13 +00:00
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
2000-10-11 07:35:02 +00:00
|
|
|
cd ..
|
|
|
|
|
2000-02-09 19:18:42 +00:00
|
|
|
plugins::
|
2000-02-09 00:41:57 +00:00
|
|
|
cd plugins
|
2001-03-06 13:08:13 +00:00
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
2000-02-09 00:41:57 +00:00
|
|
|
cd ..
|
2003-11-18 23:40:12 +00:00
|
|
|
|
2003-12-08 22:28:53 +00:00
|
|
|
doc::
|
|
|
|
cd doc
|
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
|
|
|
cd ..
|
|
|
|
|
2003-11-18 23:40:12 +00:00
|
|
|
help::
|
|
|
|
cd help
|
|
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
|
|
|
cd ..
|