From beroset:
[metze/wireshark/wip.git] / wiretap / Makefile.nmake
index 755f5f9fd230767f92cb7ceb72a57b2d92901fcd..e09edd061c755b0be36f92a3e90acde01115e433 100644 (file)
@@ -1,33 +1,84 @@
-GLIB_DIR=T:\w32-ix86\glib
-LOCAL_CFLAGS=
-
-#################3
-CFLAGS=/DHAVE_CONFIG_H /I$(GLIB_DIR) $(LOCAL_CFLAGS)
-
-OBJECTS=ascend-grammar.obj \
-       ascend-scanner.obj \
-       ascend.obj \
-       buffer.obj \
-       file.obj \
-       file_wrappers.obj \
-       i4btrace.obj \
-       iptrace.obj \
-       lanalyzer.obj \
-       libpcap.obj \
-       netmon.obj \
-       nettl.obj \
-       netxray.obj \
-       ngsniffer.obj \
-       radcom.obj \
-       snoop.obj \
-       toshiba.obj \
-       wtap.obj
-
-
-libwtap.lib    : config.h $(OBJECTS)
-       lib /out:libwtap.lib $(OBJECTS) 
-
-
-config.h       : config.h.win32
-       copy config.h.win32 $@
+#
+# $Id$
+#
 
+include ..\config.nmake
+include <win32.mak>
+include ..\Makefile.nmake.inc
+
+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
+
+CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
+
+.c.obj::
+       $(CC) $(CFLAGS) -Fd.\ -c $<
+
+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)