From Tomasz Mon via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8503 :
[metze/wireshark/wip.git] / wiretap / Makefile.nmake
index d773464aca9ee064e093b5d05289e34b6b37b0dd..e09edd061c755b0be36f92a3e90acde01115e433 100644 (file)
@@ -1,74 +1,84 @@
 #
-# $Id: Makefile.nmake,v 1.18 2001/04/05 04:39:29 gram Exp $
+# $Id$
 #
 
 include ..\config.nmake
 include <win32.mak>
+include ..\Makefile.nmake.inc
 
-############### no need to modify below this line #########
+include Makefile.common
 
-CFLAGS=-DHAVE_CONFIG_H /I$(GLIB_DIR) $(LOCAL_CFLAGS)
+# 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
 
-CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
+CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
 
+.c.obj::
+       $(CC) $(CFLAGS) -Fd.\ -c $<
 
-{$S}.c{$O}.obj::
-   $(CC) $(CVARSDLL) $(CFLAGS) -Fd$O\ -c $<
-
-OBJECTS=ascend-grammar.obj \
-       ascend-scanner.obj \
-       ascend.obj \
-       buffer.obj \
-       csids.obj \
-       etherpeek.obj \
-       file.obj \
-       file_wrappers.obj \
-       i4btrace.obj \
-       iptrace.obj \
-       lanalyzer.obj \
-       libpcap.obj \
-       netmon.obj \
-       nettl.obj \
-       netxray.obj \
-       ngsniffer.obj \
-       radcom.obj \
-       pppdump.obj \
-       snoop.obj \
-       toshiba.obj \
-       wtap.obj
-
+OBJECTS=$(NONGENERATED_C_FILES:.c=.obj) $(GENERATED_C_FILES:.c=.obj)
 
 wiretap_LIBS = \
-       $(GLIB_DIR)\glib-$(GLIB_VERSION).lib
+       $(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) wtap.def
+wiretap-$(WTAP_VERSION).dll : $(OBJECTS) ..\image\wiretap.res
        $(link) $(dlllflags) $(conlibsdll) \
-               $(LOCAL_LDFLAGS) \
-               /DEF:wtap.def /OUT:wiretap-$(WTAP_VERSION).dll \
+               $(LOCAL_LDFLAGS) $(DLL_LDFLAGS) \
+               /OUT:wiretap-$(WTAP_VERSION).dll \
                /IMPLIB:wiretap-$(WTAP_VERSION).lib \
+               ..\image\wiretap.res \
                $(OBJECTS) $(wiretap_LIBS)
 
-$(OBJECTS): config.h
+RUNLEX = ..\tools\runlex.sh
 
-ascend-grammar.c ascend-grammar.h : ascend-grammar.y
-       $(YACC) $(YACC_OPTS) -d -p ascend ascend-grammar.y -o ascend-grammar.c
+k12text_lex.h : k12text.c
+k12text.obj : k12text.c
+       $(CC) $(GENERATED_CFLAGS) -Fd.\ -c $?
 
-ascend-scanner.obj : ascend-scanner.c ascend-grammar.h
+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-scanner.l
-       $(LEX) -Pascend -oascend-scanner.c ascend-scanner.l
+ascend_scanner.c : ascend.h
 
-
-config.h       : config.h.win32
-       sed -e s/@VERSION@/$(WTAP_VERSION)/ < config.h.win32 > $@
+ascend.c ascend.h : ascend.y
+       $(YACC) $(YACC_OPTS) -d -p ascend ascend.y -o ascend.c
 
 clean :
-       rm -f $(OBJECTS) ascend-grammar.c ascend-grammar.h ascend-scanner.c \
-               wiretap-$(WTAP_VERSION).lib \
-               wiretap-$(WTAP_VERSION).exp \
-               wiretap-$(WTAP_VERSION).dll
+       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)