Do one or more of the following:
[metze/wireshark/wip.git] / Makefile.nmake
index 236f26dc1166ad0c6a657c7790c733921e89ec9f..03d575f869a64f18ad171317d46bc06cf4fb7574 100644 (file)
@@ -53,11 +53,6 @@ CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
 
 PLATFORM_SRC = capture-wpcap.c capture_wpcap_packet.c capture_win_ifnames.c
 
-WTAP_PLUGIN_SOURCES = \
-       epan/plugins.c \
-       epan/report_err.c \
-       epan/filesystem.c
-
 include Makefile.common
 
 wireshark_OBJECTS = $(WIRESHARK_COMMON_SRC:.c=.obj)
@@ -71,14 +66,17 @@ dftest_OBJECTS = $(dftest_SOURCES:.c=.obj)
 dumpcap_OBJECTS = $(dumpcap_SOURCES:.c=.obj)
 randpkt_OBJECTS = $(randpkt_SOURCES:.c=.obj)
 
+#
+# psapi.lib see http://msdn.microsoft.com/en-us/library/windows/desktop/ms683219(v=vs.85).aspx
+#
+
 wireshark_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
-       wsock32.lib user32.lib shell32.lib comctl32.lib ole32.lib \
+       wsock32.lib user32.lib shell32.lib comctl32.lib ole32.lib psapi.lib \
        $(GTHREAD_LIBS) \
        $(HHC_LIBS) \
        wsutil\libwsutil.lib \
        $(GNUTLS_LIBS) \
        $(PYTHON_LIBS) \
-       $(ZLIB_LIBS) \
        $(WINSPARKLE_LIBS) \
 !IFDEF ENABLE_LIBWIRESHARK
        epan\libwireshark.lib \
@@ -89,11 +87,12 @@ wireshark_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        epan\dfilter\dfilter.lib \
        epan\ftypes\ftypes.lib \
        $(C_ARES_LIBS) \
-       $(ADNS_LIBS)
+       $(ADNS_LIBS) \
+       $(ZLIB_LIBS)
 !ENDIF
 
 tshark_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
-       wsock32.lib user32.lib \
+       wsock32.lib user32.lib psapi.lib \
        $(GLIB_LIBS) \
        $(GTHREAD_LIBS) \
        wsutil\libwsutil.lib \
@@ -113,7 +112,7 @@ tshark_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
 !ENDIF
 
 rawshark_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
-       wsock32.lib user32.lib \
+       wsock32.lib user32.lib psapi.lib \
        $(GLIB_LIBS) \
        wsutil\libwsutil.lib \
        $(GNUTLS_LIBS) \
@@ -164,7 +163,7 @@ dumpcap_LIBS= \
        $(GTHREAD_LIBS)
 
 dftest_LIBS=  wiretap\wiretap-$(WTAP_VERSION).lib \
-       wsock32.lib user32.lib \
+       wsock32.lib user32.lib psapi.lib \
        $(GLIB_LIBS) \
        wsutil\libwsutil.lib \
        $(GNUTLS_LIBS) \
@@ -189,6 +188,10 @@ EXECUTABLES=wireshark.exe tshark.exe rawshark.exe \
        capinfos.exe editcap.exe mergecap.exe text2pcap.exe randpkt.exe \
        reordercap.exe dumpcap.exe dftest.exe
 
+!IFDEF QT5_BASE_DIR
+EXECUTABLES=$(EXECUTABLES) qtshark.exe
+!ENDIF
+
 RESOURCES=image\wireshark.res image\file_dlg_win32.res \
        image\libwireshark.res image\tshark.res image\capinfos.res \
        image\editcap.res image\mergecap.res image\text2pcap.res \
@@ -196,7 +199,7 @@ RESOURCES=image\wireshark.res image\file_dlg_win32.res \
        image\reordercap.res image\libwsutil.res
 
 
-all: $(LIBS_CHECK) config.h ui\qt\config.pri tools image codecs $(C_ARES_DLL) $(ADNS_DLL) $(ZLIB_DLL) wsutil wiretap epan $(EXECUTABLES) wireshark.bsc $(RESOURCES) doc help install-all
+all: $(LIBS_CHECK) config.h ui\qt\config.pri tools image codecs $(C_ARES_DLL) $(ADNS_DLL) $(ZLIB_DLL) wsutil wiretap epan $(EXECUTABLES) wireshark.bsc $(RESOURCES) help install-all
 
 !IFDEF MAKENSIS
 packaging: all
@@ -212,15 +215,6 @@ packaging: _FORCE_
        @exit 1
 !ENDIF
 
-packaging_u3: all
-       cd packaging
-       cd u3
-       cd win32
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-       cd ..
-       cd ..
-
 packaging_papps: all
        cd packaging
        cd portableapps
@@ -306,6 +300,8 @@ wireshark.exe       : $(LIBS_CHECK) config.h $(wireshark_OBJECTS) codecs epan ui gtk w
        mt.exe -nologo -manifest "wireshark.exe.manifest" -outputresource:$(PROGRAM_NAME).exe;1
 !ENDIF
 
+qtshark.exe    : install-generated-files $(LIBS_CHECK) config.h epan ui qt wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib plugins
+
 tshark.exe     : $(LIBS_CHECK) config.h $(tshark_OBJECTS) epan ui cli image\tshark.res wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib plugins
        @echo Linking $@
        $(LINK) @<<
@@ -470,7 +466,6 @@ GNUTLS_DIR = $(GNUTLS_DIR:\=/)
 SMI_DIR = $(SMI_DIR:\=/)
 KFW_DIR = $(KFW_DIR:\=/)
 LUA_DIR = $(LUA_DIR:\=/)
-PORTAUDIO_DIR = $(PORTAUDIO_DIR:\=/)
 GEOIP_DIR = $(GEOIP_DIR:\=/)
 WINSPARKLE_DIR = $(WINSPARKLE_DIR:\=/)
 
@@ -480,17 +475,20 @@ guilibsdll = $(guilibsdll)
 
 HHC_LIBS = $(HHC_LIBS)
 
+SH = $(SH)
+PYTHON = $(PYTHON)
+
 MSVC_VARIANT = $(MSVC_VARIANT)
 MSVCR_DLL = "$(MSVCR_DLL:\=/)"
 
-QMAKE_CFLAGS         *= $(STANDARD_CFLAGS) $(PORTAUDIO_CFLAGS:\=/)
-QMAKE_CXXFLAGS       *= $(STANDARD_CFLAGS) $(PORTAUDIO_CFLAGS:\=/)
+QMAKE_CFLAGS         *= $(STANDARD_CFLAGS)
+# NOMINMAX keeps windows.h from defining "min" and "max" via windef.h.
+# This avoids conflicts with the C++ standard library.
+QMAKE_CXXFLAGS       *= $(STANDARD_CFLAGS) /DNOMINMAX
 QMAKE_LFLAGS         *= /LARGEADDRESSAWARE $(LDFLAGS)
 
 <<KEEP
 
-ps.c: tools\rdps.py print.ps
-       $(PYTHON) tools\rdps.py print.ps ps.c
 #
 # Build the version string
 #
@@ -522,17 +520,18 @@ text2pcap.obj mergecap.obj capinfos.obj editcap.obj reordercap.obj version_info.
 clean-local:
        rm -f $(wireshark_OBJECTS) $(tshark_OBJECTS) $(dumpcap_OBJECTS) $(rawshark_OBJECTS) \
                $(EXECUTABLES) *.pdb *.sbr *.exe.manifest \
-               capinfos.obj capinfos.exp editcap.obj editcap.exp \
+               capinfos.obj capinfos.exp capinfos.lib editcap.obj editcap.exp editcap.lib \
                mergecap.obj text2pcap.obj \
                reordercap.obj nio-ie5.obj update.obj \
-               text2pcap-scanner.obj text2pcap-scanner.c rdps.obj \
-               rdps.pdb rdps.exe rdps.ilk config.h ps.c $(LIBS_CHECK) \
+               text2pcap-scanner.obj text2pcap-scanner.c \
+               config.h ps.c $(LIBS_CHECK) \
                dftest.obj dftest.exe randpkt.obj randpkt.exe \
                doxygen.cfg \
                $(RESOURCES) libwireshark.dll wiretap-$(WTAP_VERSION).dll \
                libwsutil.dll \
                wireshark.bsc
        rm -rf $(INSTALL_DIR)
+       rm -rf wireshark-qt-release
 
 clean: clean-local
        cd asn1
@@ -547,6 +546,10 @@ clean: clean-local
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd gtk
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+!IFDEF QT5_BASE_DIR
+       cd ../qt
+       -$(MAKE) clean
+!ENDIF
        cd ../win32
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../cli
@@ -567,9 +570,7 @@ clean: clean-local
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../packaging/nsis
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../u3/win32
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../../portableapps/win32
+       cd ../portableapps/win32
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../../..
 
@@ -597,6 +598,10 @@ distclean: distclean-local
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
        cd gtk
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+!IFDEF QT5_BASE_DIR
+       cd ../qt
+       -$(MAKE) distclean
+!ENDIF
        cd ../win32
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
        cd ../cli
@@ -617,9 +622,7 @@ distclean: distclean-local
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
        cd ../packaging/nsis
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../u3/win32
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../../portableapps/win32
+       cd ../portableapps/win32
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
        cd ../../..
 
@@ -640,6 +643,10 @@ maintainer-clean: maintainer-clean-local
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
        cd gtk
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
+!IFDEF QT5_BASE_DIR
+       cd ../qt
+       -$(MAKE) distclean
+!ENDIF
        cd ../win32
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
        cd ../cli
@@ -660,9 +667,7 @@ maintainer-clean: maintainer-clean-local
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
        cd ../packaging/nsis
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../u3/win32
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../../portableapps/win32
+       cd ../portableapps/win32
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
        cd ../../..
 
@@ -755,6 +760,21 @@ gtk:: help config.h svnversion.h doxygen
        $(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libgtkui.lib
        cd ../..
 
+# The Visual C++ static analyzer currently fails with error C2171
+# when compiling summary_dialog.cpp. If/when this ever gets fixed
+# we can remove the ENABLE_CODE_ANALYSIS check.
+qt:: help config.h svnversion.h doxygen
+!IFDEF QT5_BASE_DIR
+       cd ui/qt
+       $(QT5_BASE_DIR)\bin\qmake CONFIG+=release QtShark.pro
+!IFDEF ENABLE_CODE_ANALYSIS
+       -nmake
+!ELSE
+       nmake
+!ENDIF
+       cd ../..
+!ENDIF
+
 win32::
        cd ui/win32
        $(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libgtkui_win32.lib
@@ -801,8 +821,8 @@ doxygen-run:
 
 doxygen: doxygen.cfg doxygen-run
 
-services: tools\make-services.pl
-       $(PERL) tools/make-services.pl
+services: tools\make-services.py
+       $(PYTHON) tools/make-services.py
 
 ################################################################################
 # Prepare build environment by downloading and installing required libraries
@@ -829,6 +849,9 @@ REQUIRED_TOOLS=\
        peflags \
        $(PERL) \
        $(PYTHON)       \
+!IFDEF QT5_BASE_DIR
+       --windowsonly $(QT5_BASE_DIR)\bin\qmake \
+!ENDIF
        sed     \
        unzip   \
        wget
@@ -878,13 +901,19 @@ $(CHECK_TAG): _FORCE_
 # contain old files remaining from a previous setup run.
 setup: verify_tools clean_setup process_libs
 
-
+install_qt:
+       $(SH) $(WIN_SETUP) --download "C:\Qt" \
+               . Qt-5.1.1-MSVC2010-$(WIRESHARK_TARGET_PLATFORM)-ws.zip
+       
 # The process_libs target when invoked causes either a --libverify or a --download for all the required libraries.
 # (The choice is determined by the value of the macro WIN_SETUP_OPT).
 process_libs:
        @if not exist "$(WIRESHARK_LIB_DIR)" md "$(WIRESHARK_LIB_DIR)"
        @$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
-               . WinPcap_$(PCAP_VERSION).exe
+               . WinPcap_$(WINPCAP_VERSION).exe
+!IFNDEF QT5_BASE_DIR
+!MESSAGE Can't find Qt. This will become a problem at some point.
+!ENDIF
 !IFDEF GTK_DIR
        @$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
                "$(GTK_NAME)" gtk+-bundle_$(GTK_PKG)_$(WIRESHARK_TARGET_PLATFORM)$(PKG_SUFIX).zip
@@ -946,7 +975,7 @@ process_libs:
 !ENDIF
 !IFDEF HHC_DIR
        @$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
-               user-guide user-guide-48978.zip
+               user-guide user-guide-52567.zip
 !ENDIF
 !IFDEF UPX
        @$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
@@ -1021,6 +1050,7 @@ clean_setup:
        rm -r -f GeoIP-1.4.6-win??ws
        rm -r -f GeoIP-1.4.8-win??ws
        rm -r -f GeoIP-1.4.8-*-win??ws
+       rm -r -f GeoIP-1.5.1-*-win??ws
        rm -r -f WinSparkle-0.3-44-g2c8d9d3-win??ws
        rm -r -f WpdPack
        cd "$(MAKEDIR)"
@@ -1044,7 +1074,7 @@ debug-dumpcap: dumpcap.exe install-generated-files
 
 
 # install generated files (exe, "our" libs, ...)
-install-generated-files:
+install-generated-files: doc
        set copycmd=/y
        if not exist $(INSTALL_DIR) mkdir $(INSTALL_DIR)
 !IF DEFINED (MSVCR_DLL) && "$(MSVC_VARIANT)" == "MSVC2008"