LDFLAGS = /NOLOGO /INCREMENTAL:no $(LOCAL_LDFLAGS)
# We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
-GENERATED_CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) $(GLIB_CFLAGS) /I. /Iwiretap \
+GENERATED_CFLAGS=\
+ $(STANDARD_CFLAGS) \
+ -D_NEED_VAR_IMPORT_ \
+ /I. /Iwiretap $(GLIB_CFLAGS) \
$(ZLIB_CFLAGS) /I$(PCAP_DIR)\include $(AIRPCAP_CFLAGS) \
$(C_ARES_CFLAGS) $(ADNS_CFLAGS) $(PCRE_CFLAGS) $(GNUTLS_CFLAGS) \
- $(PYTHON_CFLAGS) $(SMI_CFLAGS) $(GEOIP_CFLAGS) \
- -D_U_="" -D_NEED_VAR_IMPORT_
-CFLAGS=-WX $(GENERATED_CFLAGS)
+ $(PYTHON_CFLAGS) $(SMI_CFLAGS) $(GEOIP_CFLAGS)
-CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
+CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
.c.obj::
$(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
!ENDIF
tshark_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
- wsock32.lib user32.lib \
+ wsock32.lib user32.lib shell32.lib \
$(GLIB_LIBS) \
wsutil\libwsutil.lib \
$(GNUTLS_LIBS) \
!ENDIF
rawshark_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
- wsock32.lib user32.lib \
+ wsock32.lib user32.lib shell32.lib \
$(GLIB_LIBS) \
wsutil\libwsutil.lib \
$(GNUTLS_LIBS) \
$(GLIB_LIBS)
mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
- wsock32.lib user32.lib \
+ wsock32.lib user32.lib shell32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
text2pcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
- wsock32.lib user32.lib \
+ wsock32.lib user32.lib shell32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
-dumpcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
- wsock32.lib user32.lib \
+dumpcap_LIBS= \
+ wsock32.lib user32.lib shell32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS) \
- $(GTHREAD_LIBS) \
- $(PYTHON_LIBS)
+ $(GTHREAD_LIBS)
dftest_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib \
!ENDIF
randpkt_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
- user32.lib \
+ user32.lib shell32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
rm -f wireshark.zip
zip -r -9 wireshark.zip $(INSTALL_DIR)/
-wireshark.bsc: *.sbr epan\*.sbr epan\dfilter\*.sbr epan\ftypes\*.sbr epan\wslua\*.sbr epan\dissectors\*.sbr gtk\*.sbr wiretap\*.sbr
+wireshark.bsc: *.sbr epan\*.sbr epan\dfilter\*.sbr epan\ftypes\*.sbr epan\wslua\*.sbr epan\dissectors\*.sbr gtk\*.sbr win32\*.sbr wiretap\*.sbr
rm -f $@
$(BSCMAKE) @<<
/o $@ $?
wiretap\wiretap-$(WTAP_VERSION).lib: image $(ZLIB_DLL) wiretap
-wireshark.exe : $(LIBS_CHECK) config.h $(wireshark_OBJECTS) codecs epan gtk image\wireshark.res wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib codecs\codecs.lib gtk\libui.lib plugins
+wireshark.exe : $(LIBS_CHECK) config.h $(wireshark_OBJECTS) codecs epan gtk win32 image\wireshark.res wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib codecs\codecs.lib gtk\libui.lib win32\libui_win32.lib plugins
@echo Linking $@
$(LINK) @<<
- /OUT:wireshark.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /LARGEADDRESSAWARE /SUBSYSTEM:windows $(wireshark_LIBS) $(GTK_LIBS) codecs\codecs.lib gtk\libui.lib $(wireshark_OBJECTS) image\wireshark.res
+ /OUT:wireshark.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /LARGEADDRESSAWARE /SUBSYSTEM:windows $(wireshark_LIBS) $(GTK_LIBS) codecs\codecs.lib gtk\libui.lib win32\libui_win32.lib $(wireshark_OBJECTS) image\wireshark.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "wireshark.exe.manifest" -outputresource:wireshark.exe;1
mt.exe -nologo -manifest "randpkt.exe.manifest" -outputresource:randpkt.exe;1
!ENDIF
-dumpcap.exe : $(LIBS_CHECK) config.h $(dumpcap_OBJECTS) wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib image\dumpcap.res
+dumpcap.exe : $(LIBS_CHECK) config.h $(dumpcap_OBJECTS) wsutil\libwsutil.lib image\dumpcap.res
@echo Linking $@
$(LINK) @<<
/OUT:dumpcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(dumpcap_LIBS) $(dumpcap_OBJECTS) image\dumpcap.res
-e "s/@HAVE_KFW@/$(KFW_CONFIG)/" \
-e "s/@HAVE_NETTLE@/$(NETTLE_CONFIG)/" \
-e "s/@HAVE_LIBZ@/$(ZLIB_CONFIG)/" \
- -e "s/@HAVE_GZCLEARERR@/$(ZLIB_GZCLEARERR_CONFIG)/" \
-e "s/@HAVE_LIBPCAP@/$(WINPCAP_CONFIG)/" \
-e "s/@HAVE_PCAP_FINDALLDEVS@/$(PCAP_FINDALLDEVS_CONFIG)/" \
-e "s/@HAVE_PCAP_DATALINK_NAME_TO_VAL@/$(PCAP_DATALINK_NAME_TO_VAL_CONFIG)/" \
-e "s/@HAVE_REMOTE@/$(PCAP_HAVE_REMOTE_CONFIG)/" \
-e "s/@HAVE_PCAP_REMOTE@/$(PCAP_REMOTE_CONFIG)/" \
-e "s/@HAVE_PCAP_OPEN@/$(PCAP_OPEN_CONFIG)/" \
+ -e "s/@HAVE_PCAP_OPEN_DEAD@/$(PCAP_OPEN_DEAD_CONFIG)/" \
-e "s/@HAVE_PCAP_LIST_DATALINKS@/$(PCAP_LIST_DATALINKS_CONFIG)/" \
-e "s/@HAVE_PCAP_FREE_DATALINKS@/$(PCAP_FREE_DATALINKS_CONFIG)/" \
-e "s/@HAVE_PCAP_SET_DATALINK@/$(PCAP_SET_DATALINK_CONFIG)/" \
-e "s/@HAVE_PCAP_SETSAMPLING@/$(PCAP_SETSAMPLING_CONFIG)/" \
+ -e "s/@HAVE_BPF_IMAGE@/$(BPF_IMAGE_CONFIG)/" \
-e "s/@HAVE_LIBWIRESHARKDLL@/$(LIBWIRESHARK_CONFIG)/" \
-e "s/@HAVE_LIBGNUTLS@/$(GNUTLS_CONFIG)/" \
-e "s/@HAVE_LIBGCRYPT@/$(LIBGCRYPT_CONFIG)/" \
-e "s/@PORTAUDIO_API_1@/$(PORTAUDIO_API_CONFIG)/" \
-e "s/@HAVE_SMI@/$(SMI_CONFIG)/" \
-e "s/@HAVE_GEOIP@/$(GEOIP_CONFIG)/" \
- -e "s/@HAVE_NEW_PACKET_LIST@/$(NEW_PACKET_LIST_CONFIG)/" \
-e "s/@INET6@/$(INET6_CONFIG)/" \
-e "s/@HAVE_NTDDNDIS_H@/$(NTDDNDIS_CONFIG)/" \
+ -e "s/@MAIN_MENU_USE_UIMANAGER@/$(MAIN_MENU_USE_UIMANAGER)/" \
+ -e "s/@WANT_PACKET_EDITOR@/$(WANT_PACKET_EDITOR)/" \
< config.h.win32 > $@
# The following targets will rebuild their respective objs
# if and when svnversion.h should change.
#
+text2pcap.obj mergecap.obj capinfos.obj editcap.obj version_info.obj: svnversion.h
-text2pcap.obj : $*.c svnversion.h
- $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) -Fd.\ -c $*.c
-
-mergecap.obj : $*.c svnversion.h
- $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) -Fd.\ -c $*.c
-
-capinfos.obj : $*.c svnversion.h
- $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) -Fd.\ -c $*.c
-
-editcap.obj : $*.c svnversion.h
- $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) -Fd.\ -c $*.c
-version_info.obj : $*.c svnversion.h
- $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) -Fd.\ -c $*.c
-
-clean-local: clean-deps
+clean-local:
rm -f $(wireshark_OBJECTS) $(tshark_OBJECTS) $(dumpcap_OBJECTS) $(rawshark_OBJECTS) \
$(EXECUTABLES) *.pdb *.exe.manifest \
capinfos.obj editcap.obj mergecap.obj text2pcap.obj \
$(RESOURCES) libwireshark.dll wiretap-$(WTAP_VERSION).dll \
libwsutil.dll \
wireshark.bsc
+ rm -rf $(INSTALL_DIR)
clean: clean-local
cd asn1
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../gtk
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+ cd ../win32
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../plugins
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../gtk
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../win32
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../plugins
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../gtk
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
+ cd ../win32
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../plugins
$(ZLIB_DLL):
xcopy $(ZLIB_DIR) zlib.tmp /D /I /E /Y
cd zlib.tmp
- $(MAKE) /$(MAKEFLAGS) -f win32/Makefile.msc zlib1.dll LOC="$(LOCAL_CFLAGS)"
+!if "$(WIRESHARK_TARGET_PLATFORM)" == "win32"
+ $(MAKE) /$(MAKEFLAGS) -f win32/Makefile.msc zlib1.dll LOC="-DASMV -DASMINF" OBJA="inffas32.obj match686.obj"
+!else
+ $(MAKE) /$(MAKEFLAGS) -f win32/Makefile.msc zlib1.dll AS=ml64 LOC="-DASMV -DASMINF" OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"
+!endif
if not exist $(ZLIB_DIR) mkdir $(ZLIB_DIR)
if not exist $(ZLIB_DIR)\lib mkdir $(ZLIB_DIR)\lib
if not exist $(ZLIB_DIR)\include mkdir $(ZLIB_DIR)\include
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libui.lib
cd ..
+win32::
+ cd win32
+ $(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libui_win32.lib
+ cd ..
+
epan:: $(RESOURCES) $(ZLIB_DLL) wiretap\wiretap-$(WTAP_VERSION).lib $(BUILT_SOURCES) doxygen
cd epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
doxygen: doxygen.cfg doxygen-run
+services: tools\make-services.pl
+ $(PERL) tools/make-services.pl
################################################################################
# Prepare build environment by downloading and installing required libraries
wget
verify_tools:
+# As win-setup.sh assumes the dir exists create it if it doesn't
+ @if not exist $(WIRESHARK_LIBS) md $(WIRESHARK_LIBS)
@$(SH) $(WIN_SETUP) --appverify $(REQUIRED_TOOLS)
# Targets and etc used to verify or download libraries
!ENDIF
!IFDEF ZLIB_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIBS)" \
- zlib123 zlib123ws.zip
+!if "$(WIRESHARK_TARGET_PLATFORM)" == "win32"
+ zlib125 zlib-1.2.5.zip
+!else
+ zlib125 zlib125ws.zip
+!endif
!ENDIF
!IFDEF LUA_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIBS)" \
!ENDIF
!IFDEF HHC_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIBS)" \
- user-guide user-guide-28526.zip
+ user-guide user-guide-34434.zip
!ENDIF
!IFDEF UPX
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIBS)" \
!ENDIF
!IFDEF NASM
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIBS)" \
- . nasm-2.02-win32.zip
+ . nasm-2.09.08-win32.zip
!ENDIF
!IF "$(WIN_SETUP_OPT)" == "--download"
@$(SH) $(WIN_SETUP) --settag "$(WIRESHARK_LIBS)"
# WHEN UPDATING LIBRARY VERSIONS, KEEP ALSO ONE FORMER VERSION SO
# UPDATING REMOVES THE FORMER USER DIRS
clean_setup:
- rm -r -f $(WIRESHARK_LIBS)/adns-1.0-win32-05ws
- rm -r -f $(WIRESHARK_LIBS)/c-ares-1.5.3ws
- rm -r -f $(WIRESHARK_LIBS)/c-ares-1.6.0ws
- rm -r -f $(WIRESHARK_LIBS)/c-ares-1.7.0-win??ws
- rm -r -f $(WIRESHARK_LIBS)/c-ares-1.7.1-win??ws
- rm -r -f $(WIRESHARK_LIBS)/gettext-0.14.5
- rm -r -f $(WIRESHARK_LIBS)/gettext-runtime-0.17
- rm -r -f $(WIRESHARK_LIBS)/gettext-runtime-0.17-1
- rm -r -f $(WIRESHARK_LIBS)/gettext-0.17-1 # win64
- rm -r -f $(WIRESHARK_LIBS)/glib
- rm -r -f $(WIRESHARK_LIBS)/gnutls-2.8.1-1
- rm -r -f $(WIRESHARK_LIBS)/gnutls-2.8.5-*-win??ws
- rm -r -f $(WIRESHARK_LIBS)/gtk2
- rm -r -f $(WIRESHARK_LIBS)/gtk+
- rm -r -f $(WIRESHARK_LIBS)/gtk-wimp
- rm -r -f $(WIRESHARK_LIBS)/kfw-2.5
- rm -r -f $(WIRESHARK_LIBS)/kfw-3.2.2-ws1
- rm -r -f $(WIRESHARK_LIBS)/kfw-3.2.2-i386-ws-vc6
- rm -r -f $(WIRESHARK_LIBS)/libiconv-1.9.1.bin.woe32
- rm -r -f $(WIRESHARK_LIBS)/lua5.1
- rm -r -f $(WIRESHARK_LIBS)/lua5.1.4
- rm -r -f $(WIRESHARK_LIBS)/libsmi-0.4.5
- rm -r -f $(WIRESHARK_LIBS)/libsmi-0.4.8
- rm -r -f $(WIRESHARK_LIBS)/nasm-2.00
- rm -r -f $(WIRESHARK_LIBS)/nasm-2.02
- rm -r -f $(WIRESHARK_LIBS)/pcre-6.4
- rm -r -f $(WIRESHARK_LIBS)/pcre-7.0
- rm -r -f $(WIRESHARK_LIBS)/portaudio_v19
- rm -r -f $(WIRESHARK_LIBS)/portaudio_v19_2
- rm -r -f $(WIRESHARK_LIBS)/user-guide
- rm -r -f $(WIRESHARK_LIBS)/WpdPack
- rm -r -f $(WIRESHARK_LIBS)/AirPcap_Devpack_1_0_0_594
- rm -r -f $(WIRESHARK_LIBS)/AirPcap_Devpack_4_0_0_1480
- rm -r -f $(WIRESHARK_LIBS)/AirPcap_Devpack_4_1_0_1622
- rm -r -f $(WIRESHARK_LIBS)/zlib123
- rm -r -f $(WIRESHARK_LIBS)/zlib123-dll
- rm -r -f $(WIRESHARK_LIBS)/upx301w
- rm -r -f $(WIRESHARK_LIBS)/upx303w
- rm -r -f $(WIRESHARK_LIBS)/GeoIP-1.4.5ws
- rm -r -f $(WIRESHARK_LIBS)/GeoIP-1.4.6-win??ws
+ cd $(WIRESHARK_LIBS)
+ rm -r -f adns-1.0-win32-05ws
+ rm -r -f c-ares-1.5.3ws
+ rm -r -f c-ares-1.6.0ws
+ rm -r -f c-ares-1.7.0-win??ws
+ rm -r -f c-ares-1.7.1-win??ws
+ rm -r -f gettext-0.14.5
+ rm -r -f gettext-runtime-0.17
+ rm -r -f gettext-runtime-0.17-1
+ rm -r -f gettext-0.17-1 # win64
+ rm -r -f glib
+ rm -r -f gnutls-2.8.1-1
+ rm -r -f gnutls-2.8.5-*-win??ws
+ rm -r -f gnutls-2.10.3-*-win??ws
+ rm -r -f gtk2
+ rm -r -f gtk+
+ rm -r -f gtk-wimp
+ rm -r -f kfw-2.5
+ rm -r -f kfw-3.2.2-ws1
+ rm -r -f kfw-3.2.2-i386-ws-vc6
+ rm -r -f libiconv-1.9.1.bin.woe32
+ rm -r -f lua5.1
+ rm -r -f lua5.1.4
+ rm -r -f libsmi-0.4.5
+ rm -r -f libsmi-0.4.8
+ rm -r -f nasm-2.00
+ rm -r -f nasm-2.02
+ rm -r -f nasm-2.09.08
+ rm -r -f pcre-6.4
+ rm -r -f pcre-7.0
+ rm -r -f portaudio_v19
+ rm -r -f portaudio_v19_2
+ rm -r -f user-guide
+ rm -r -f WpdPack
+ rm -r -f AirPcap_Devpack_1_0_0_594
+ rm -r -f AirPcap_Devpack_4_0_0_1480
+ rm -r -f AirPcap_Devpack_4_1_0_1622
+ rm -r -f zlib123
+ rm -r -f zlib-1.2.5
+ rm -r -f zlib123-dll
+ rm -r -f upx301w
+ rm -r -f upx303w
+ rm -r -f GeoIP-1.4.5ws
+ rm -r -f GeoIP-1.4.6-win??ws
+ cd "$(MAKEDIR)"
################################################################################
# Prepare the debug trees for running Wireshark/Tshark from there.
xcopy "doc\AUTHORS-SHORT" $(INSTALL_DIR) /d
xcopy ".\manuf" $(INSTALL_DIR) /d
xcopy ".\services" $(INSTALL_DIR) /d
- $(TEXTIFY) ".\COPYING" $(INSTALL_DIR)
- $(TEXTIFY) ".\NEWS" $(INSTALL_DIR)
- $(TEXTIFY) ".\README" $(INSTALL_DIR)
- $(TEXTIFY) ".\README.windows" $(INSTALL_DIR)
+ $(TEXTIFY) "./COPYING" $(INSTALL_DIR)
+ $(TEXTIFY) "./NEWS" $(INSTALL_DIR)
+ $(TEXTIFY) "./README" $(INSTALL_DIR)
+ $(TEXTIFY) "./README.windows" $(INSTALL_DIR)
xcopy ".\cfilters" $(INSTALL_DIR) /d
xcopy ".\colorfilters" $(INSTALL_DIR) /d
xcopy ".\dfilters" $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\libgnutls-26.dll $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\libgpg-error-0.dll $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\libtasn1-3.dll $(INSTALL_DIR) /d
+! IF "$(INTL_DLL)" != "libintl-8.dll"
+# The gtk+ bundle doesn't provide libintl-8.dll (which is the case
+# with the 32-bit package); use the GNUTLS version.
+ xcopy $(GNUTLS_DIR)\bin\libintl-8.dll $(INSTALL_DIR) /d
+! ENDIF
!ENDIF
!IFDEF LUA_DIR
xcopy "$(LUA_DIR)\lua5.1.dll" $(INSTALL_DIR) /d
xcopy "$(SMI_DIR)\mibs\*" $(INSTALL_DIR)\snmp\mibs /d
!ENDIF
-clean-deps:
- rm -rf $(INSTALL_DIR)
- cd plugins
- $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean-deps
- cd ..
-
checkapi_local:
$(PERL) tools/checkAPIs.pl \
$(wireshark_SOURCES) \
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../gtk
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
+ cd ../win32
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../epan
## $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../epan/crypt