1 ## Makefile for building ethereal.exe with Microsoft C and nmake
2 ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
4 # $Id: Makefile.nmake,v 1.208 2002/09/06 22:45:40 sahlberg 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) /I. /Iwiretap /I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
18 /I$(PCAP_DIR)/include -D_U_=""
20 CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
23 $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
59 packet-dcerpc-browser.c \
60 packet-dcerpc-conv.c \
64 packet-dcerpc-mapi.c \
65 packet-dcerpc-mgmt.c \
67 packet-dcerpc-netlogon.c \
68 packet-dcerpc-nspi.c \
70 packet-dcerpc-oxid.c \
72 packet-dcerpc-remact.c \
73 packet-dcerpc-samr.c \
74 packet-dcerpc-spoolss.c \
75 packet-dcerpc-srvsvc.c \
76 packet-dcerpc-tapi.c \
77 packet-dcerpc-wkssvc.c \
130 packet-isis-hello.c \
181 packet-osi-options.c \
197 packet-quakeworld.c \
227 packet-slowprotocols.c \
229 packet-smb-browse.c \
230 packet-smb-common.c \
232 packet-smb-mailslot.c \
246 packet-stat-notify.c \
287 DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
289 ETHEREAL_COMMON_OBJECTS = \
292 capture_stop_conditions.obj \
317 $(DISSECTOR_OBJECTS) \
318 $(ETHEREAL_COMMON_OBJECTS) \
322 proto_hier_stats.obj \
325 tethereal_OBJECTS = \
326 $(DISSECTOR_OBJECTS) \
327 $(ETHEREAL_COMMON_OBJECTS) \
331 $(DISSECTOR_OBJECTS) \
332 $(ETHEREAL_COMMON_OBJECTS) \
341 ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
342 gtk\libui.lib epan\ethereal.lib \
343 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
344 wsock32.lib user32.lib \
345 $(GTK_DIR)\gtk\gtk-$(GTK_VERSION).lib \
346 $(GTK_DIR)\gdk\gdk-$(GTK_VERSION).lib \
347 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
348 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
349 # $(PCAP_DIR)\lib\wpcap.lib
351 tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
353 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
354 wsock32.lib user32.lib \
355 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
356 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
358 editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
359 wsock32.lib user32.lib \
360 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
361 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
363 mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
364 wsock32.lib user32.lib \
365 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
366 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
368 dftest_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib epan\ethereal.lib \
369 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
370 wsock32.lib user32.lib \
371 wiretap\wiretap-$(WTAP_VERSION).lib \
372 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
373 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
375 EXECUTABLES=ethereal.exe tethereal.exe editcap.exe mergecap.exe text2pcap.exe
377 RESOURCES=image\ethereal.res image\tethereal.res image\editcap.res image\mergecap.res image\text2pcap.res
379 all: tools wiretap gtk epan image $(EXECUTABLES) $(RESOURCES)
383 wiretap\wiretap-$(WTAP_VERSION).lib: wiretap
385 ethereal.exe : config.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) epan gtk image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk\libui.lib plugins
388 /OUT:ethereal.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
391 tethereal.exe : config.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) epan image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
394 /OUT:tethereal.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(tethereal_LIBS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res
397 editcap.exe : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res
400 /OUT:editcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console editcap.obj getopt.obj $(editcap_LIBS) image\editcap.res
403 mergecap.exe : config.h mergecap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\mergecap.res
406 /OUT:mergecap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console mergecap.obj getopt.obj $(mergecap_LIBS) image\mergecap.res
409 text2pcap.exe : config.h text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.obj image\text2pcap.res
412 /OUT:text2pcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.obj image\text2pcap.res
415 dftest.exe : $(dftest_OBJECTS) $(EXTRA_OBJECTS)
417 /OUT:dftest.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(dftest_LIBS) $(dftest_OBJECTS) $(EXTRA_OBJECTS)
420 config.h : config.h.win32
421 sed -e s/@VERSION@/$(VERSION)/ < config.h.win32 > $@
423 ps.c : rdps.exe print.ps
427 # The header files listed here are built from x11-fields using Perl;
428 # we declare a dependency here so that they get built.
430 packet-x11.obj : packet-x11.c x11-declarations.h x11-register-info.h
433 # Build various header files for the X11 dissector.
435 x11-declarations.h x11-register-info.h: x11-fields process-x11-fields.pl
436 $(PERL) process-x11-fields.pl <x11-fields
438 packet-ncp2222.c : ncp2222.py
440 @echo Making packet-ncp2222.c
441 $(PYTHON) ncp2222.py -o packet-ncp2222.c
443 @echo Faking packet-ncp2222.c...
444 @echo Python is required to build the NCP disector
445 @echo Hiding packet-ncp.c...
446 mv packet-ncp.c packet-ncp.c.save
447 touch packet-ncp.c $@
450 register.c: $(DISSECTOR_SRC)
452 @echo Making register.c (using python)
453 @$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC)
455 @echo Making register.c (using sh)
456 @sh make-reg-dotc register.c $(DISSECTOR_SRC)
459 text2pcap-scanner.c : text2pcap-scanner.l
460 $(LEX) -otext2pcap-scanner.c text2pcap-scanner.l
463 rm -f $(ethereal_OBJECTS) $(EXTRA_OBJECTS) $(EXECUTABLES) $(PDB_FILE) \
464 tethereal.obj editcap.obj mergecap.obj text2pcap.obj \
465 text2pcap-scanner.obj text2pcap-scanner.c register.c \
466 rdps.obj rdps.pdb config.h ps.c packet-ncp2222.c register.c \
467 rdps.exe rdps.ilk dftest.obj dftest.exe $(RESOURCES)
469 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
471 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
473 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
475 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
477 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
479 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
481 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
483 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
488 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
493 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
498 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
503 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
508 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
513 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake