1 ## Makefile for building ethereal.exe with Microsoft C and nmake
2 ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
4 # $Id: Makefile.nmake,v 1.109 2001/05/24 08:13:56 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 $<
125 packet-osi-options.c \
157 packet-smb-browse.c \
158 packet-smb-common.c \
160 packet-smb-mailslot.c \
170 packet-stat-notify.c \
205 DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
207 ETHEREAL_COMMON_OBJECTS = \
224 $(DISSECTOR_OBJECTS) \
225 $(ETHEREAL_COMMON_OBJECTS) \
229 proto_hier_stats.obj \
232 tethereal_OBJECTS = \
233 $(DISSECTOR_OBJECTS) \
234 $(ETHEREAL_COMMON_OBJECTS) \
238 $(DISSECTOR_OBJECTS) \
239 $(ETHEREAL_COMMON_OBJECTS) \
247 ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
248 gtk\libui.lib epan\ethereal.lib \
249 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
250 wsock32.lib user32.lib \
251 $(GTK_DIR)\gtk\gtk-$(GTK_VERSION).lib \
252 $(GTK_DIR)\gdk\gdk-$(GTK_VERSION).lib \
253 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
254 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
255 # $(PCAP_DIR)\lib\wpcap.lib
257 tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
259 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
260 wsock32.lib user32.lib \
261 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
262 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
264 editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
265 wsock32.lib user32.lib \
266 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
267 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
269 dftest_LIBS= epan\ethereal.lib \
270 epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
271 wsock32.lib user32.lib \
272 $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
273 $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
275 EXECUTABLES=ethereal.exe tethereal.exe editcap.exe text2pcap.exe
277 RESOURCES=image\ethereal.res image\tethereal.res image\editcap.res image\text2pcap.res
279 all: tools wiretap gtk epan image $(EXECUTABLES) $(RESOURCES)
281 ethereal.exe : config.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk\libui.lib plugins
284 /OUT:ethereal.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
287 tethereal.exe : config.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
290 /OUT:tethereal.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(tethereal_LIBS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res
293 editcap.exe : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res
296 /OUT:editcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console editcap.obj getopt.obj $(editcap_LIBS) image\editcap.res
299 text2pcap.exe : config.h text2pcap.obj text2pcap-scanner.obj getopt.obj image\text2pcap.res
302 /OUT:text2pcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console text2pcap.obj text2pcap-scanner.obj getopt.obj image\text2pcap.res
305 dftest.exe : $(dftest_OBJECTS) $(EXTRA_OBJECTS)
307 /OUT:dftest.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(dftest_LIBS) $(dftest_OBJECTS) $(EXTRA_OBJECTS)
310 config.h : config.h.win32
311 sed -e s/@VERSION@/$(VERSION)/ < config.h.win32 > $@
313 ps.c : rdps.exe print.ps
317 # The header files listed here are built from x11-fields using Perl;
318 # we declare a dependency here so that they get built.
320 packet-x11.obj : packet-x11.c x11-declarations.h x11-register-info.h
323 # Build various header files for the X11 dissector.
325 x11-declarations.h x11-register-info.h: x11-fields process-x11-fields.pl
326 $(PERL) process-x11-fields.pl <x11-fields
328 packet-ncp2222.c : ncp2222.py
329 @echo Making packet-ncp2222.c
330 $(PYTHON) ncp2222.py > packet-ncp2222.c
332 register.c: $(DISSECTOR_SRC)
333 @echo Making register.c
334 @$(PYTHON) make-reg-dotc.py . $(DISSECTOR_SRC)
335 # How are ifdef's done in NMAKE? It would be nice
336 # to use python if PYTHON is defined, otherwise try to use shell.
337 # @sh make-reg-dotc . $(DISSECTOR_SRC)
339 text2pcap-scanner.c : text2pcap-scanner.l
340 $(LEX) -otext2pcap-scanner.c text2pcap-scanner.l
343 rm -f $(ethereal_OBJECTS) $(EXTRA_OBJECTS) $(EXECUTABLES) \
344 tethereal.obj editcap.obj text2pcap.obj \
345 text2pcap-scanner.c register.c rdps.obj config.h \
346 ps.c packet-ncp2222.c register.c
348 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
350 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
352 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
354 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
356 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
358 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
363 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
368 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
373 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
378 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
383 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
388 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake