opa: Add dissectors for Intel’s Omni-Path Architecture (OPA)
[metze/wireshark/wip.git] / wiretap / Makefile.nmake
index 7ea5ec8908eaefa23e7b7b4d9f08990d9d19c270..219f3eaa28df1280f4597b1c758402d382591439 100644 (file)
@@ -1,54 +1,29 @@
 #
-# $Id$
-#
 
 include ..\config.nmake
 include <win32.mak>
+include ..\Makefile.nmake.inc
+
+include Makefile.common
 
-############### no need to modify below this line #########
+# 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=-DHAVE_CONFIG_H $(GLIB_CFLAGS) $(ZLIB_CFLAGS) /I$(PCAP_DIR)/include \
-       -D_U_="" $(LOCAL_CFLAGS)
+CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
 
 .c.obj::
-   $(CC) $(cvarsdll) $(CFLAGS) -Fd.\ -c $<
-
-OBJECTS=airopeek9.obj \
-       ascend-grammar.obj \
-       ascend-scanner.obj \
-       ascend.obj \
-       atm.obj \
-       buffer.obj \
-       cosine.obj \
-       csids.obj \
-       dbs-etherwatch.obj \
-       erf.obj \
-       etherpeek.obj \
-       file_access.obj \
-       file_wrappers.obj \
-       hcidump.obj \
-       i4btrace.obj \
-       iptrace.obj \
-       lanalyzer.obj \
-       libpcap.obj \
-       netmon.obj \
-       nettl.obj \
-       network_instruments.obj \
-       netxray.obj \
-       ngsniffer.obj \
-       radcom.obj \
-       pppdump.obj \
-       snoop.obj \
-       toshiba.obj \
-       eyesdn.obj \
-       visual.obj \
-       vms.obj \
-       wtap.obj \
-       5views.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
@@ -56,36 +31,52 @@ 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 ..\image\wiretap.res
+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) ..\wsutil\ws_version_info.obj $(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 ..\config.nmake
-       sed -e s/@VERSION@/$(WTAP_VERSION)/ \
-           -e "s/@HAVE_LIBZ@/$(ZLIB_CONFIG)/" \
-           < config.h.win32 > $@
+ascend.c ascend.h : ascend.y
+       $(YACC) $(YACC_OPTS) -d -p ascend ascend.y -o ascend.c
 
 clean :
        rm -f $(OBJECTS) \
-               wiretap-$(WTAP_VERSION).lib \
-               wiretap-$(WTAP_VERSION).exp \
-               wiretap-$(WTAP_VERSION).dll \
-               $(PDB_FILE)
+               wiretap-*.lib \
+               wiretap-*.exp \
+               wiretap-*.dll \
+               wiretap-*.dll.manifest \
+               *.nativecodeanalysis.xml *.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 config.h ascend-grammar.c ascend-grammar.h ascend-scanner.c
+       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)