1 ## Makefile for building ethereal.exe with Microsoft C and nmake
2 ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
4 # $Id: Makefile.nmake,v 1.150 2001/12/04 08:25:55 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 \
55 packet-dcerpc-mgmt.c \
57 packet-dcerpc-netlogon.c \
58 packet-dcerpc-oxid.c \
60 packet-dcerpc-remact.c \
61 packet-dcerpc-samr.c \
62 packet-dcerpc-spoolss.c \
63 packet-dcerpc-srvsvc.c \
64 packet-dcerpc-wkssvc.c \
111 packet-isis-hello.c \
154 packet-osi-options.c \
169 packet-quakeworld.c \
194 packet-smb-browse.c \
195 packet-smb-common.c \
197 packet-smb-mailslot.c \
209 packet-stat-notify.c \
245 DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
247 ETHEREAL_COMMON_OBJECTS = \
250 capture_stop_conditions.obj \
271 $(DISSECTOR_OBJECTS) \
272 $(ETHEREAL_COMMON_OBJECTS) \
276 proto_hier_stats.obj \
279 tethereal_OBJECTS = \
280 $(DISSECTOR_OBJECTS) \
281 $(ETHEREAL_COMMON_OBJECTS) \
285 $(DISSECTOR_OBJECTS) \
286 $(ETHEREAL_COMMON_OBJECTS) \
295 ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
296 gtk\libui.lib epan\ethereal.lib \
297 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
298 wsock32.lib user32.lib \
299 $(GTK_DIR)\gtk\gtk-$(GTK_VERSION).lib \
300 $(GTK_DIR)\gdk\gdk-$(GTK_VERSION).lib \
301 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
302 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
303 # $(PCAP_DIR)\lib\wpcap.lib
305 tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
307 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
308 wsock32.lib user32.lib \
309 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
310 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
312 editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
313 wsock32.lib user32.lib \
314 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
315 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
317 mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
318 wsock32.lib user32.lib \
319 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
320 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
322 dftest_LIBS= epan\ethereal.lib \
323 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
324 wsock32.lib user32.lib \
325 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
326 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
328 EXECUTABLES=ethereal.exe tethereal.exe editcap.exe mergecap.exe text2pcap.exe
330 RESOURCES=image\ethereal.res image\tethereal.res image\editcap.res image\mergecap.res image\text2pcap.res
332 all: tools wiretap gtk epan image $(EXECUTABLES) $(RESOURCES)
334 ethereal.exe : config.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk\libui.lib plugins
337 /OUT:ethereal.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
340 tethereal.exe : config.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
343 /OUT:tethereal.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(tethereal_LIBS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res
346 editcap.exe : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res
349 /OUT:editcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console editcap.obj getopt.obj $(editcap_LIBS) image\editcap.res
352 mergecap.exe : config.h mergecap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\mergecap.res
355 /OUT:mergecap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console mergecap.obj getopt.obj $(mergecap_LIBS) image\mergecap.res
358 text2pcap.exe : config.h text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.obj image\text2pcap.res
361 /OUT:text2pcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.obj image\text2pcap.res
364 dftest.exe : $(dftest_OBJECTS) $(EXTRA_OBJECTS)
366 /OUT:dftest.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(dftest_LIBS) $(dftest_OBJECTS) $(EXTRA_OBJECTS)
369 config.h : config.h.win32
370 sed -e s/@VERSION@/$(VERSION)/ < config.h.win32 > $@
372 ps.c : rdps.exe print.ps
376 # The header files listed here are built from x11-fields using Perl;
377 # we declare a dependency here so that they get built.
379 packet-x11.obj : packet-x11.c x11-declarations.h x11-register-info.h
382 # Build various header files for the X11 dissector.
384 x11-declarations.h x11-register-info.h: x11-fields process-x11-fields.pl
385 $(PERL) process-x11-fields.pl <x11-fields
387 packet-ncp2222.c : ncp2222.py
388 @echo Making packet-ncp2222.c
389 $(PYTHON) ncp2222.py > packet-ncp2222.c
391 register.c: $(DISSECTOR_SRC)
392 @echo Making register.c
393 @$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC)
394 # How are ifdef's done in NMAKE? It would be nice
395 # to use python if PYTHON is defined, otherwise try to use shell.
396 # @sh make-reg-dotc . $(DISSECTOR_SRC)
398 text2pcap-scanner.c : text2pcap-scanner.l
399 $(LEX) -otext2pcap-scanner.c text2pcap-scanner.l
402 rm -f $(ethereal_OBJECTS) $(EXTRA_OBJECTS) $(EXECUTABLES) \
403 tethereal.obj editcap.obj mergecap.obj text2pcap.obj \
404 text2pcap-scanner.obj text2pcap-scanner.c register.c \
405 rdps.obj config.h ps.c packet-ncp2222.c register.c
407 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
409 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
411 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
413 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
415 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
417 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
422 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
427 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
432 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
437 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
442 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
447 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake