## Makefile for building wireshark.exe with Microsoft C and nmake ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # include ..\..\config.nmake ############### no need to modify below this line ######### include Makefile.common CFLAGS= $(WARNINGS_ARE_ERRORS) $(STANDARD_CFLAGS) \ /I. /I.. /I../.. $(GLIB_CFLAGS) \ $(ZLIB_CFLAGS) -DWS_BUILD_DLL\ $(GNUTLS_CFLAGS) $(KFW_CFLAGS) \ $(AIRPCAP_CFLAGS) $(GEOIP_CFLAGS) \ /I$(PCAP_DIR)\include .c.obj:: $(CC) $(CFLAGS) -Fd.\ -c $< DISSECTOR_OBJECTS = \ $(ALL_DISSECTORS_SRC:.c=.obj) DISSECTOR_SUPPORT_OBJECTS = \ $(DISSECTOR_SUPPORT_SRC:.c=.obj) dissectors.lib: register.obj packet-ncp2222.c $(GENERATED_HEADER_FILES) ../../config.h $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) @echo Linking dissectors.lib $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) link /lib /out:dissectors.lib $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) # # Build register.c, which contains a function register_all_protocols() # that calls the register routines for all protocols and a function # register_all_protocol_handoffs() that calls the handoff registration # routines for all protocols. # # We do this by scanning through sources. If that turns out to be too slow, # maybe we could just require every .o file to have an register routine # of a given name (packet-aarp.o -> proto_register_aarp, etc.). # # Formatting conventions: The name of the proto_register_* routines and # proto_reg_handoff_* routines must start in column zero, or must be # preceded only by "void " starting in column zero, and must not be # inside #if. # # ALL_DISSECTORS_SRC is assumed to have all the files that need to be scanned. # # For some unknown reason, having a big "for" loop in the Makefile # to scan all the files doesn't work with some "make"s; they seem to # pass only the first few names in the list to the shell, for some # reason. # # Therefore, we use a script to generate the register.c file. # The first argument is the directory in which the source files live. # The second argument is "dissectors", to indicate that we should build # a register.c file for libwireshark. # All subsequent arguments are the files to scan. # register.c: $(ALL_DISSECTORS_SRC) Makefile.common ..\..\tools\make-dissector-reg.py @echo Making register.c @$(PYTHON) "../../tools/make-dissector-reg.py" . dissectors $(ALL_DISSECTORS_SRC) packet-ncp2222.c: ..\..\tools/ncp2222.py @echo Making packet-ncp2222.c $(PYTHON) "../../tools/ncp2222.py" -o packet-ncp2222.c packet-ncp2222.obj: packet-ncp2222.inc # Target to rebuild the X11 dissector header files. # See README.X11 before using this--it requires the xcb and mesa source. x11-dissector: ..\..\tools/process-x11-fields.pl x11-fields ..\..\tools/process-x11-xcb.pl $(PERL) ../../tools/process-x11-fields.pl < x11-fields $(PERL) ../../tools/process-x11-xcb.pl clean-local: rm -f dissectors.lib *.nativecodeanalysis.xml *.pdb *.sbr register.c-tmp register-cache.pkl \ $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) clean: clean-local cd asn1 $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean cd .. distclean: clean maintainer-clean: distclean rm -f $(GENERATED_FILES) checkapi: $(PERL) ../../tools/checkAPIs.pl -g abort -g termoutput -build \ $(ALL_DISSECTORS_SRC) $(DISSECTOR_INCLUDES) $(DISSECTOR_SUPPORT_SRC)