From Tomasz Mon via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8503 :
[metze/wireshark/wip.git] / wiretap / Makefile.nmake
index 54c57e7283653a47860a337b6e57c4d5582e1b04..e09edd061c755b0be36f92a3e90acde01115e433 100644 (file)
@@ -1,18 +1,84 @@
-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)