-GLIB_DIR=d:\prj\src\glib-1.2
-LOCAL_CFLAGS=/Ic:\tools\msdev\include
+#
+# $Id$
+#
-#################3
-CFLAGS=/DHAVE_CONFIG_H /I$(GLIB_DIR) $(LOCAL_CFLAGS)
+include ..\config.nmake
+include <win32.mak>
+include ..\Makefile.nmake.inc
-OBJECTS=buffer.obj file.obj iptrace.obj lanalyzer.obj libpcap.obj \
- netmon.obj netxray.obj ngsniffer.obj radcom.obj snoop.obj \
- wtap.obj
+include Makefile.common
+# We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
+GENERATED_CFLAGS=\
+ $(STANDARD_CFLAGS) \
+ -DYYMALLOC=malloc -DYYFREE=free \
+ /I. /I.. $(GLIB_CFLAGS) \
+ $(ZLIB_CFLAGS) /I$(PCAP_DIR)/include \
+ -DWS_BUILD_DLL
-libwtap.lib : config.h $(OBJECTS)
- lib /out:libwtap.lib $(OBJECTS)
+CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
+.c.obj::
+ $(CC) $(CFLAGS) -Fd.\ -c $<
-config.h : config.h.win32
- copy config.h.win32 $@
+OBJECTS=$(NONGENERATED_C_FILES:.c=.obj) $(GENERATED_C_FILES:.c=.obj)
+wiretap_LIBS = \
+ $(GLIB_LIBS) \
+ ..\wsutil\libwsutil.lib \
+ $(ZLIB_LIBS)
+
+all: wiretap-$(WTAP_VERSION).dll
+
+wiretap-$(WTAP_VERSION).lib: wiretap-$(WTAP_VERSION).dll
+wiretap-$(WTAP_VERSION).exp: wiretap-$(WTAP_VERSION).dll
+
+wiretap-$(WTAP_VERSION).dll : $(OBJECTS) ..\image\wiretap.res
+ $(link) $(dlllflags) $(conlibsdll) \
+ $(LOCAL_LDFLAGS) $(DLL_LDFLAGS) \
+ /OUT:wiretap-$(WTAP_VERSION).dll \
+ /IMPLIB:wiretap-$(WTAP_VERSION).lib \
+ ..\image\wiretap.res \
+ $(OBJECTS) $(wiretap_LIBS)
+
+RUNLEX = ..\tools\runlex.sh
+
+k12text_lex.h : k12text.c
+k12text.obj : k12text.c
+ $(CC) $(GENERATED_CFLAGS) -Fd.\ -c $?
+
+ascend_scanner_lex.h : ascend_scanner.c
+ascend_scanner.obj : ascend_scanner.c ascend.h
+ $(CC) $(GENERATED_CFLAGS) -Fd.\ -c ascend_scanner.c
+
+ascend_scanner.c : ascend.h
+
+ascend.c ascend.h : ascend.y
+ $(YACC) $(YACC_OPTS) -d -p ascend ascend.y -o ascend.c
+
+clean :
+ rm -f $(OBJECTS) \
+ wiretap-*.lib \
+ wiretap-*.exp \
+ wiretap-*.dll \
+ wiretap-*.dll.manifest \
+ *.pdb *.sbr
+
+#
+# We remove the generated files with "distclean" because one of them,
+# "ascend_scanner.c", needs different #includes for UN*X and Windows
+# (UN*X versions of Flex make it include <unistd.h>, but that's a
+# UN*X-only header), so if you're going to build from source, you need
+# to build "ascend_scanner.c" from "ascend_scanner.l" with Flex.
+# This might not be necessary for "ascend.{c,h}", but as
+# long as you need Flex, you might as well get Bison....
+#
+distclean: clean
+ rm -f $(GENERATED_FILES)
+
+maintainer-clean: distclean
+
+checkapi:
+## 'abort' checking disabled for now pending resolution of existing use of g_assert & g_error
+## $(PERL) ../tools/checkAPIs.pl -g abort -g termoutput $(NONGENERATED_C_FILES) $(GENERATOR_FILES)
+ $(PERL) ../tools/checkAPIs.pl -g termoutput -build $(NONGENERATED_C_FILES) $(GENERATOR_FILES)