1 ## Makefile for building ethereal.exe with Microsoft C and nmake
2 ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
4 # $Id: Makefile.nmake,v 1.138 2001/11/06 20:30:39 guy Exp $
9 ############### no need to modify below this line #########
14 LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)
16 CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) /I$(GLIB_DIR) /I$(GLIB_DIR)\gmodule \
17 /I$(GTK_DIR) /Iepan /Iwiretap /I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
20 CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
23 $(CC) $(CVARSDLL) $(CFLAGS) -Fd$O\ -c $<
51 packet-dcerpc-conv.c \
53 packet-dcerpc-mgmt.c \
54 packet-dcerpc-remact.c \
55 packet-dcerpc-oxid.c \
102 packet-isis-hello.c \
145 packet-osi-options.c \
158 packet-quakeworld.c \
183 packet-smb-browse.c \
184 packet-smb-common.c \
186 packet-smb-mailslot.c \
197 packet-stat-notify.c \
233 DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
235 ETHEREAL_COMMON_OBJECTS = \
256 $(DISSECTOR_OBJECTS) \
257 $(ETHEREAL_COMMON_OBJECTS) \
261 proto_hier_stats.obj \
264 tethereal_OBJECTS = \
265 $(DISSECTOR_OBJECTS) \
266 $(ETHEREAL_COMMON_OBJECTS) \
270 $(DISSECTOR_OBJECTS) \
271 $(ETHEREAL_COMMON_OBJECTS) \
280 ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
281 gtk\libui.lib epan\ethereal.lib \
282 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
283 wsock32.lib user32.lib \
284 $(GTK_DIR)\gtk\gtk-$(GTK_VERSION).lib \
285 $(GTK_DIR)\gdk\gdk-$(GTK_VERSION).lib \
286 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
287 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
288 # $(PCAP_DIR)\lib\wpcap.lib
290 tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
292 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
293 wsock32.lib user32.lib \
294 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
295 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
297 editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
298 wsock32.lib user32.lib \
299 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
300 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
302 mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
303 wsock32.lib user32.lib \
304 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
305 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
307 dftest_LIBS= epan\ethereal.lib \
308 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
309 wsock32.lib user32.lib \
310 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
311 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
313 EXECUTABLES=ethereal.exe tethereal.exe editcap.exe mergecap.exe text2pcap.exe
315 RESOURCES=image\ethereal.res image\tethereal.res image\editcap.res image\mergecap.res image\text2pcap.res
317 all: tools wiretap gtk epan image $(EXECUTABLES) $(RESOURCES)
319 ethereal.exe : config.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk\libui.lib plugins
322 /OUT:ethereal.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
325 tethereal.exe : config.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
328 /OUT:tethereal.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(tethereal_LIBS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res
331 editcap.exe : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res
334 /OUT:editcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console editcap.obj getopt.obj $(editcap_LIBS) image\editcap.res
337 mergecap.exe : config.h mergecap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\mergecap.res
340 /OUT:mergecap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console mergecap.obj getopt.obj $(mergecap_LIBS) image\mergecap.res
343 text2pcap.exe : config.h text2pcap.obj text2pcap-scanner.obj getopt.obj image\text2pcap.res
346 /OUT:text2pcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console text2pcap.obj text2pcap-scanner.obj getopt.obj image\text2pcap.res
349 dftest.exe : $(dftest_OBJECTS) $(EXTRA_OBJECTS)
351 /OUT:dftest.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(dftest_LIBS) $(dftest_OBJECTS) $(EXTRA_OBJECTS)
354 config.h : config.h.win32
355 sed -e s/@VERSION@/$(VERSION)/ < config.h.win32 > $@
357 ps.c : rdps.exe print.ps
361 # The header files listed here are built from x11-fields using Perl;
362 # we declare a dependency here so that they get built.
364 packet-x11.obj : packet-x11.c x11-declarations.h x11-register-info.h
367 # Build various header files for the X11 dissector.
369 x11-declarations.h x11-register-info.h: x11-fields process-x11-fields.pl
370 $(PERL) process-x11-fields.pl <x11-fields
372 packet-ncp2222.c : ncp2222.py
373 @echo Making packet-ncp2222.c
374 $(PYTHON) ncp2222.py > packet-ncp2222.c
376 register.c: $(DISSECTOR_SRC)
377 @echo Making register.c
378 @$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC)
379 # How are ifdef's done in NMAKE? It would be nice
380 # to use python if PYTHON is defined, otherwise try to use shell.
381 # @sh make-reg-dotc . $(DISSECTOR_SRC)
383 text2pcap-scanner.c : text2pcap-scanner.l
384 $(LEX) -otext2pcap-scanner.c text2pcap-scanner.l
387 rm -f $(ethereal_OBJECTS) $(EXTRA_OBJECTS) $(EXECUTABLES) \
388 tethereal.obj editcap.obj mergecap.obj text2pcap.obj \
389 text2pcap-scanner.c register.c rdps.obj config.h \
390 ps.c packet-ncp2222.c register.c
392 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
394 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
396 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
398 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
400 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
402 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
407 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
412 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
417 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
422 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
427 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
432 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake