wireshark/Makefile.nmake

1531 lines
52 KiB
Makefile
Raw Normal View History

## Makefile for building wireshark.exe with Microsoft C and nmake
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
#
# We "Deploy using XCopy," which is described at
# http://msdn.microsoft.com/en-us/library/ms235291.aspx
include config.nmake
include <win32.mak>
##### Deprecation #####
# Support for NMake and QMake will be removed in June 2016. Removal includes
# the following files:
#
# Makefile.nmake in the top level and most subdirectories.
# Makefile.nmake.inc
# config.nmake
# epan/dissectors/asn1/Makefile.inc.nmake
# epan/dissectors/asn1/Makefile.preinc.nmake
# packaging/nsis/Custom.nmake
# plugins/*/moduleinfo.nmake
# tools/native-nmake.cmd
# tools/win-setup.sh
#
# Additionally, the following files reference the nmake environment:
# make-version.pl
# The autotools 'dist' target
############### no need to modify below this line #########
CC = cl
LINK= link
BSCMAKE= bscmake
WIN_SETUP=tools/win-setup.sh
# -------------
# Checking that the Wireshark Libraries are up-to-date:
# 1. win-setup.sh --checktag <tag> is invoked during nmake "preprocessing".
# If an error status is returned (ie: the libraries are not up-to-date)
# then CHECK_TAG is defined as a non-null string.
# 2. The $(LIBS_CHECK) target is invoked during the nmake:
# If $(CHECK_TAG) is non-null, then a "libraries not up to date" exit will occur.
# If $(CHECK_TAG) is null, but either config.nmake or Makefile.nmake
# are newer than the $(LIBS_CHECK) target, then a detailed verification
# as to the required library package files will be made.
#
LIBS_CHECK=_libs_check_
!IF [$(SH) $(WIN_SETUP) --checktag "$(WIRESHARK_LIB_DIR)" "$(DOWNLOAD_TAG)"] != 0
CHECK_TAG=_check_tag_
!ELSE
CHECK_TAG=
!ENDIF
# -------------
LDFLAGS = /NOLOGO /INCREMENTAL:NO $(LOCAL_LDFLAGS)
# We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
GENERATED_CFLAGS=\
$(STANDARD_CFLAGS) \
/I. $(GLIB_CFLAGS) \
$(ZLIB_CFLAGS) /I$(PCAP_DIR)\include $(AIRPCAP_CFLAGS) \
$(C_ARES_CFLAGS) $(GNUTLS_CFLAGS) \
$(SMI_CFLAGS) $(GEOIP_CFLAGS) $(LIBSSH_CFLAGS) $(WINSPARKLE_CFLAGS)
CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
.c.obj::
$(CC) $(CFLAGS) -Fd.\ -c $<
include Makefile.common
wireshark_gtk_OBJECTS = $(WIRESHARK_COMMON_SRC:.c=.obj) $(EXTCAP_COMMON_SRC:.c=.obj)
tshark_OBJECTS = $(tshark_SOURCES:.c=.obj) $(EXTCAP_COMMON_SRC:.c=.obj)
tfshark_OBJECTS = $(tfshark_SOURCES:.c=.obj)
rawshark_OBJECTS = $(rawshark_SOURCES:.c=.obj)
#
# XXX - one of the files in text2pcap_SOURCES is a .l file, so
# this doesn't work.
#
###text2pcap_OBJECTS = $(text2pcap_SOURCES:.c=.obj)
mergecap_OBJECTS = $(mergecap_SOURCES:.c=.obj)
editcap_OBJECTS = $(editcap_SOURCES:.c=.obj)
capinfos_OBJECTS = $(capinfos_SOURCES:.c=.obj)
captype_OBJECTS = $(captype_SOURCES:.c=.obj)
dftest_OBJECTS = $(dftest_SOURCES:.c=.obj)
dumpcap_OBJECTS = $(dumpcap_SOURCES:.c=.obj)
randpkt_OBJECTS = $(randpkt_SOURCES:.c=.obj)
reordercap_OBJECTS = $(reordercap_SOURCES:.c=.obj)
#
# psapi.lib see http://msdn.microsoft.com/en-us/library/windows/desktop/ms683219(v=vs.85).aspx
#
wireshark_gtk_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib shell32.lib comctl32.lib ole32.lib psapi.lib \
$(HHC_LIBS) \
wsutil\libwsutil.lib \
$(GNUTLS_LIBS) \
$(WINSPARKLE_LIBS) \
!IFDEF ENABLE_LIBWIRESHARK
epan\libwireshark.lib \
!ELSE
epan\dissectors\dissectors.lib \
epan\wireshark.lib \
epan\crypt\airpdcap.lib \
epan\dfilter\dfilter.lib \
epan\ftypes\ftypes.lib \
$(C_ARES_LIBS) \
$(ZLIB_LIBS)
!ENDIF
tshark_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib psapi.lib \
$(GLIB_LIBS) \
wsutil\libwsutil.lib \
$(GNUTLS_LIBS) \
!IFDEF ENABLE_LIBWIRESHARK
epan\libwireshark.lib \
!ELSE
epan\dissectors\dissectors.lib \
epan\wireshark.lib \
epan\crypt\airpdcap.lib \
epan\dfilter\dfilter.lib \
epan\ftypes\ftypes.lib \
$(C_ARES_LIBS) \
$(ZLIB_LIBS)
!ENDIF
tfshark_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib psapi.lib \
$(GLIB_LIBS) \
wsutil\libwsutil.lib \
$(GNUTLS_LIBS) \
!IFDEF ENABLE_LIBWIRESHARK
epan\libwireshark.lib \
!ELSE
epan\dissectors\dissectors.lib \
epan\wireshark.lib \
epan\dfilter\dfilter.lib \
epan\ftypes\ftypes.lib \
epan\wmem\wmem.lib
!ENDIF
rawshark_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib psapi.lib \
$(GLIB_LIBS) \
wsutil\libwsutil.lib \
$(GNUTLS_LIBS) \
!IFDEF ENABLE_LIBWIRESHARK
epan\libwireshark.lib \
!ELSE
epan\dissectors\dissectors.lib \
epan\wireshark.lib \
epan\crypt\airpdcap.lib \
epan\dfilter\dfilter.lib \
epan\ftypes\ftypes.lib \
$(C_ARES_LIBS) \
$(ZLIB_LIBS)
!ENDIF
capinfos_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib shell32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS) \
$(GCRYPT_LIBS)
captype_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib shell32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib shell32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
reordercap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
text2pcap_LIBS= \
wsock32.lib user32.lib \
writecap\libwritecap.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
dumpcap_LIBS= \
wsock32.lib user32.lib \
caputils\libcaputils.lib \
writecap\libwritecap.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
dftest_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
wsock32.lib user32.lib psapi.lib \
$(GLIB_LIBS) \
wsutil\libwsutil.lib \
$(GNUTLS_LIBS) \
!IFDEF ENABLE_LIBWIRESHARK
epan\libwireshark.lib \
!ELSE
epan\dissectors\dissectors.lib \
epan\wireshark.lib \
epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
$(C_ARES_LIBS) \
$(ZLIB_LIBS) \
$(SMI_LIBS)
!ENDIF
randpkt_LIBS= randpkt_core\librandpkt_core.lib \
wiretap\wiretap-$(WTAP_VERSION).lib \
user32.lib \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
EXECUTABLES=$(PROGRAM_NAME_GTK).exe tshark.exe tfshark.exe rawshark.exe \
capinfos.exe captype.exe editcap.exe mergecap.exe text2pcap.exe \
randpkt.exe reordercap.exe dumpcap.exe dftest.exe
!IFDEF QT5_BASE_DIR
EXECUTABLES=$(EXECUTABLES) $(PROGRAM_NAME).exe
!ENDIF
RESOURCES=image\wireshark.res image\file_dlg_win32.res \
image\libwireshark.res image\tshark.res image\tfshark.res image\capinfos.res \
image\captype.res image\editcap.res image\mergecap.res \
image\text2pcap.res image\wiretap.res image\dumpcap.res \
image\rawshark.res image\reordercap.res image\libwsutil.res
all: $(LIBS_CHECK) config.h ui\qt\config.pri tools image $(C_ARES_DLL) $(ZLIB_DLL) wsutil codecs wiretap epan randpkt_core extcap $(EXECUTABLES) wireshark.bsc $(RESOURCES) help install-all
!IFDEF MAKENSIS
packaging: all
cd packaging
cd nsis
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
cd ..
!ELSE
packaging: _FORCE_
@echo \? NSIS not available (MAKENSIS not defined in config.nmake)
@echo.
@exit 1
!ENDIF
packaging_papps: all
cd packaging
cd portableapps
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
cd ..
# use (info-)zip from cygwin to pack things
packaging_zip: all
!IFDEF MSVCR_DLL
xcopy "$(MSVCR_DLL)" $(INSTALL_DIR)
!ENDIF
!IFDEF VCREDIST_EXE
@echo Including vcredist_$(TARGET_MACHINE).exe -- your recipient may need to run it!
xcopy "$(VCREDIST_EXE)" $(INSTALL_DIR)
!ENDIF
rm -f wireshark.zip
zip -r -9 wireshark.zip $(INSTALL_DIR)/
!IFDEF WIRESHARK_GENERATE_BSC_FILE
# Note: Certain .sbr files cause bscmake warning "too many references... ignoring ..."
# XXX: It seems that using .bsc files with VS2010 doesn't work (isn't supported ?)
# Using .bsc files with VS2008 may work
# See: https://ask.wireshark.org/questions/8660/wireshark-building-and-debugging-on-visual-c-or-visual-studio
wireshark.bsc: \
*.sbr \
capchild\*.sbr \
caputils\*.sbr \
codecs\*.sbr \
epan\*.sbr \
epan\crypt\*.sbr \
epan\dfilter\*.sbr \
epan\dissectors\*.sbr \
epan\ftypes\*.sbr \
epan\wslua\*.sbr \
plugins\asn1\*.sbr \
plugins\docsis\*.sbr \
plugins\ethercat\*.sbr \
plugins\gryphon\*.sbr \
plugins\irda\*.sbr \
plugins\m2m\*.sbr \
plugins\mate\*.sbr \
plugins\opcua\*.sbr \
plugins\profinet\*.sbr \
plugins\stats_tree\*.sbr \
plugins\unistim\*.sbr \
plugins\wimax\*.sbr \
plugins\wimaxasncp\*.sbr \
plugins\wimaxmacphy\*.sbr \
randpkt_core\*.sbr \
ui\*.sbr \
ui\cli\*.sbr \
ui\gtk\*.sbr \
ui\win32\*.sbr \
wiretap\*.sbr \
wsutil\*.sbr
$(BSCMAKE) @<<
/o $@ $?
<<
!ELSE
wireshark.bsc:
!ENDIF
pdb_zip: all
cd $(INSTALL_DIR)
rm -f ../[Ww]ireshark-pdb-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).zip
zip -9 ../Wireshark-pdb-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).zip *.pdb *.lib
cd ..
$(RESOURCES): image
## Note: The proper "SUBSYSTEM" link option to be used for linking each of the Wireshark executables
## is specified in '$(guiflags)' or '$(conflags)' as used as part of the link options.
## (These variables (as well as '$(guilibsdll)' and '$(conlibsdll)') are defined in win32.mak).
wiretap\wiretap-$(WTAP_VERSION).lib: image $(ZLIB_DLL) wiretap
$(PROGRAM_NAME_GTK).exe : $(LIBS_CHECK) config.h $(wireshark_gtk_OBJECTS) capchild caputils epan ui gtk win32 image\wireshark.res image\file_dlg_win32.res wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib codecs\libwscodecs.lib ui\libui.lib ui\gtk\libgtkui.lib ui\win32\libgtkui_win32.lib plugins
@echo Linking $@
$(LINK) @<<
/OUT:$(PROGRAM_NAME_GTK).exe $(guiflags) $(guilibsdll) $(LDFLAGS) /LARGEADDRESSAWARE $(wireshark_gtk_LIBS) $(GTK_LIBS) capchild\libcapchild.lib caputils\libcaputils.lib codecs\libwscodecs.lib ui\gtk\libgtkui.lib ui\win32\libgtkui_win32.lib ui\libui.lib $(wireshark_gtk_OBJECTS) image\wireshark.res image\file_dlg_win32.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "wireshark.exe.manifest" -outputresource:$(PROGRAM_NAME).exe;1
!ENDIF
$(PROGRAM_NAME).exe : install-generated-files $(LIBS_CHECK) config.h capchild caputils codecs\libwscodecs.lib epan ui qt wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib plugins
tshark.exe : $(LIBS_CHECK) config.h $(tshark_OBJECTS) capchild caputils epan ui cli image\tshark.res wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib plugins
@echo Linking $@
$(LINK) @<<
/OUT:tshark.exe $(conflags) $(conlibsdll) $(LDFLAGS) /LARGEADDRESSAWARE $(tshark_LIBS) $(tshark_OBJECTS) capchild\libcapchild.lib caputils\libcaputils.lib ui\cli\libcliui.lib ui\libui.lib image\tshark.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "tshark.exe.manifest" -outputresource:tshark.exe;1
!ENDIF
tfshark.exe : $(LIBS_CHECK) config.h $(tfshark_OBJECTS) epan ui cli image\tfshark.res wsutil\libwsutil.lib plugins
@echo Linking $@
$(LINK) @<<
/OUT:tfshark.exe $(conflags) $(conlibsdll) $(LDFLAGS) /LARGEADDRESSAWARE $(tfshark_LIBS) $(tfshark_OBJECTS) ui\cli\libcliui.lib ui\libui.lib image\tfshark.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "tfshark.exe.manifest" -outputresource:tfshark.exe;1
!ENDIF
rawshark.exe : $(LIBS_CHECK) config.h $(rawshark_OBJECTS) caputils epan ui image\rawshark.res wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib plugins
@echo Linking $@
$(LINK) @<<
/OUT:rawshark.exe $(conflags) $(conlibsdll) $(LDFLAGS) /LARGEADDRESSAWARE $(rawshark_LIBS) $(rawshark_OBJECTS) caputils\libcaputils.lib ui\libui.lib image\rawshark.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "rawshark.exe.manifest" -outputresource:rawshark.exe;1
!ENDIF
# Linking with setargv.obj enables "wildcard expansion" of command-line arguments
capinfos.exe : $(LIBS_CHECK) config.h $(capinfos_OBJECTS) wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib image\capinfos.res
@echo Linking $@
$(LINK) @<<
/OUT:capinfos.exe $(conflags) $(conlibsdll) $(LDFLAGS) $(capinfos_OBJECTS) $(capinfos_LIBS) setargv.obj image\capinfos.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "capinfos.exe.manifest" -outputresource:capinfos.exe;1
!ENDIF
# Linking with setargv.obj enables "wildcard expansion" of command-line arguments
captype.exe : $(LIBS_CHECK) config.h $(captype_OBJECTS) wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib image\captype.res
@echo Linking $@
$(LINK) @<<
/OUT:captype.exe $(conflags) $(conlibsdll) $(LDFLAGS) $(captype_OBJECTS) $(captype_LIBS) setargv.obj image\captype.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "captype.exe.manifest" -outputresource:captype.exe;1
!ENDIF
editcap.exe : $(LIBS_CHECK) config.h $(editcap_OBJECTS) wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res
@echo Linking $@
$(LINK) @<<
/OUT:editcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) $(editcap_OBJECTS) $(editcap_LIBS) image\editcap.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "editcap.exe.manifest" -outputresource:editcap.exe;1
!ENDIF
# Linking with setargv.obj enables "wildcard expansion" of command-line arguments
mergecap.exe : $(LIBS_CHECK) config.h $(mergecap_OBJECTS) wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib image\mergecap.res
@echo Linking $@
$(LINK) @<<
/OUT:mergecap.exe $(conflags) $(conlibsdll) $(LDFLAGS) $(mergecap_OBJECTS) $(mergecap_LIBS) setargv.obj image\mergecap.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "mergecap.exe.manifest" -outputresource:mergecap.exe;1
!ENDIF
# Linking with setargv.obj enables "wildcard expansion" of command-line arguments
reordercap.exe : $(LIBS_CHECK) config.h $(reordercap_OBJECTS) wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib image\reordercap.res
@echo Linking $@
$(LINK) @<<
/OUT:reordercap.exe $(conflags) $(conlibsdll) $(LDFLAGS) $(reordercap_OBJECTS) $(reordercap_LIBS) setargv.obj image\reordercap.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "reordercap.exe.manifest" -outputresource:reordercap.exe;1
!ENDIF
text2pcap.exe : $(LIBS_CHECK) config.h text2pcap.obj text2pcap-scanner.obj writecap wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib image\text2pcap.res
@echo Linking $@
$(LINK) @<<
/OUT:text2pcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) text2pcap.obj text2pcap-scanner.obj $(text2pcap_LIBS) image\text2pcap.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "text2pcap.exe.manifest" -outputresource:text2pcap.exe;1
!ENDIF
dftest.exe : $(dftest_OBJECTS) epan ui
@echo Linking $@
$(LINK) @<<
/OUT:dftest.exe $(conflags) $(conlibsdll) $(LDFLAGS) $(dftest_LIBS) ui\libui.lib $(dftest_OBJECTS)
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "dftest.exe.manifest" -outputresource:dftest.exe;1
!ENDIF
randpkt.exe : $(randpkt_OBJECTS) randpkt_core
@echo Linking $@
$(LINK) @<<
/OUT:randpkt.exe $(conflags) $(conlibsdll) $(LDFLAGS) $(randpkt_LIBS) $(randpkt_OBJECTS)
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "randpkt.exe.manifest" -outputresource:randpkt.exe;1
!ENDIF
dumpcap.exe : $(LIBS_CHECK) config.h $(dumpcap_OBJECTS) caputils writecap wsutil\libwsutil.lib image\dumpcap.res
@echo Linking $@
$(LINK) @<<
/OUT:dumpcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) $(dumpcap_LIBS) $(dumpcap_OBJECTS) image\dumpcap.res
<<
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "dumpcap.exe.manifest" -outputresource:dumpcap.exe;1
!ENDIF
config.h : config.h.win32 config.nmake
sed -e s/@VERSION@/$(VERSION)/ \
-e s/@VERSION_MAJOR@/$(VERSION_MAJOR)/ \
-e s/@VERSION_MINOR@/$(VERSION_MINOR)/ \
-e s/@VERSION_MICRO@/$(VERSION_MICRO)/ \
-e "s/@VERSION_FLAVOR@/$(VERSION_FLAVOR)/" \
-e "s/@HAVE_C_ARES@/$(C_ARES_CONFIG)/" \
-e "s/@HAVE_KFW@/$(KFW_CONFIG)/" \
-e "s/@HAVE_ZLIB@/$(ZLIB_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_PCAP_DATALINK_VAL_TO_NAME@/$(PCAP_DATALINK_VAL_TO_NAME_CONFIG)/" \
-e "s/@HAVE_PCAP_DATALINK_VAL_TO_DESCRIPTION@/$(PCAP_DATALINK_VAL_TO_DESCRIPTION_CONFIG)/" \
-e "s/@HAVE_PCAP_BREAKLOOP@/$(PCAP_BREAKLOOP_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_CREATE@/$(PCAP_CREATE_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_LIBGNUTLS@/$(GNUTLS_CONFIG)/" \
-e "s/@HAVE_LIBGCRYPT@/$(LIBGCRYPT_CONFIG)/" \
-e "s/@HAVE_LUA@/$(LUA_CONFIG)/" \
-e "s/@HAVE_LUA@/$(LUA_VERSION)/" \
-e "s/@HAVE_AIRPCAP@/$(AIRPCAP_CONFIG)/" \
-e "s/@HAVE_AIRPDCAP@/$(AIRPDCAP_CONFIG)/" \
-e "s/@HAVE_LIBPORTAUDIO@/$(PORTAUDIO_CONFIG)/" \
-e "s/@PORTAUDIO_API_1@/$(PORTAUDIO_API_CONFIG)/" \
-e "s/@HAVE_SMI@/$(SMI_CONFIG)/" \
-e "s/@HAVE_GEOIP@/$(GEOIP_CONFIG)/" \
-e "s/@HAVE_GEOIP_V6@/$(GEOIP_V6_CONFIG)/" \
-e "s/@HAVE_LIBSSH/$(LIBSSH_CONFIG)/" \
-e "s/@HAVE_SOFTWARE_UPDATE@/$(WINSPARKLE_CONFIG)/" \
-e "s/@HAVE_NTDDNDIS_H@/$(NTDDNDIS_CONFIG)/" \
-e "s/@PCAP_NG_DEFAULT@/$(PCAP_NG_DEFAULT)/" \
-e "s/@WANT_PACKET_EDITOR@/$(WANT_PACKET_EDITOR)/" \
< config.h.win32 > $@
ui\qt\config.pri: config.nmake Makefile.nmake
@echo Creating <<ui\qt\config.pri
# Automatically generated from Makefile.nmake. Edit there, not here.
# qmake apparently requires a three-part numeric VERSION.
PROGRAM_NAME = $(PROGRAM_NAME)
VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_MICRO)
VERSION_FULL = $(VERSION)
WTAP_VERSION = $(WTAP_VERSION)
INSTALL_DIR = $(INSTALL_DIR)
QT5_BASE_DIR = $(QT5_BASE_DIR:\=/)
!IFDEF MANIFEST_INFO_REQUIRED
CONFIG += wireshark_manifest_info_required
!ENDIF
!IFDEF KFW_DIR
CONFIG += wireshark_use_kfw
!ENDIF
WIRESHARK_LIB_DIR = $(WIRESHARK_LIB_DIR:\=/)
GLIB_DIR = $(GTK_DIR:\=/)
C_ARES_DIR = $(C_ARES_DIR:\=/)
ZLIB_DIR = $(ZLIB_DIR:\=/)
GNUTLS_DIR = $(GNUTLS_DIR:\=/)
SMI_DIR = $(SMI_DIR:\=/)
KFW_DIR = $(KFW_DIR:\=/)
LUA_DIR = $(LUA_DIR:\=/)
GEOIP_DIR = $(GEOIP_DIR:\=/)
LIBSSH_DIR = $(LIBSSH_DIR:\=/)
WINSPARKLE_DIR = $(WINSPARKLE_DIR:\=/)
GCC_DLL = $(GCC_DLL)
GPGERROR_DLL = $(GPGERROR_DLL)
INTL_DLL = $(INTL_DLL)
guilibsdll = $(guilibsdll)
HHC_LIBS = $(HHC_LIBS)
COMERR_DLL = $(COMERR_DLL)
KRB5_DLL = $(KRB5_DLL)
K5SPRT_DLL = $(K5SPRT_DLL)
SH = $(SH)
PYTHON = $(PYTHON)
MSVC_VARIANT = $(MSVC_VARIANT)
MSVCR_DLL = "$(MSVCR_DLL:\=/)"
WIRESHARK_TARGET_PLATFORM = $(WIRESHARK_TARGET_PLATFORM)
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
#
# Build the version string
#
# XXX - Makefile.am uses FORCE for this.
!IF EXIST(".git/index")
GITINDEX = .git/index
!ELSE IF EXIST(".svn/wc.db")
GITINDEX = .svn/wc.db
!ELSE IF EXIST(".svn/entries")
GITINDEX = .svn/entries
!ELSE
GITINDEX =
!ENDIF
version.h: $(GITINDEX)
rm -f version.h
$(PERL) make-version.pl
text2pcap-scanner.c : text2pcap-scanner.l
$(LEX) -otext2pcap-scanner.c text2pcap-scanner.l
text2pcap-scanner.obj : text2pcap-scanner.c
$(CC) $(GENERATED_CFLAGS) -Fd.\ -c $?
test-programs:
cd epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake test-programs
cd ..
clean-local:
rm -f $(wireshark_gtk_OBJECTS) $(tshark_OBJECTS) $(tfshark_OBJECTS) $(dumpcap_OBJECTS) $(rawshark_OBJECTS) \
$(EXECUTABLES) *.nativecodeanalysis.xml *.pdb *.sbr *.exe.manifest \
capinfos.obj capinfos.exp capinfos.lib \
captype.obj captype.exp captype.lib \
editcap.obj editcap.exp editcap.lib \
mergecap.obj text2pcap.obj \
reordercap.obj nio-ie5.obj update.obj \
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 \
libwscodecs.lib libwsutil.dll \
wireshark.bsc
rm -rf $(INSTALL_DIR)
rm -rf $(INSTALL_DIR_QT)
clean: clean-local
cd wiretap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../wsutil
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../capchild
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../caputils
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../randpkt_core
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../extcap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../codecs
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../ui
$(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
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../../epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../plugins
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../tools
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../image
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../doc
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../docbook
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../help
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../packaging/nsis
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../portableapps
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../..
# "distclean" removes all files not part of the distribution.
# It does not remove generated files that are part of the distribution.
distclean-local: clean-local
!IFDEF ZLIB_DIR
rm -f $(ZLIB_DLL) $(ZLIB_DIR)\zlib1.dll.manifest \
$(ZLIB_DIR)\include\zlib.h $(ZLIB_DIR)\include\zconf.h \
$(ZLIB_DIR)\lib\zdll.lib
!ENDIF
rm -f config.h $(BUILT_SOURCES) wireshark-pdb*.zip
distclean: distclean-local
cd wiretap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../wsutil
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../capchild
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../caputils
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../randpkt_core
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../extcap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../codecs
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../ui
$(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
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../../epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../plugins
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../tools
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../image
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../doc
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../docbook
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../help
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../packaging/nsis
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../portableapps
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../..
# Make "maintainer-clean" only if you would like to remove ALL generated
# files.
# Be sure to have python and perl installed to regenerate them.
maintainer-clean-local: distclean-local
rm -f $(GENERATED_FILES)
maintainer-clean: maintainer-clean-local
cd wiretap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../wsutil
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../capchild
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../caputils
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../randpkt_core
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../extcap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../codecs
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../ui
$(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
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../../epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../plugins
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../tools
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../image
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../doc
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../docbook
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../help
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../packaging/nsis
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../portableapps
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../..
tools::
cd tools
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
image::
cd image
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
!IFDEF ZLIB_DIR
# MSVC variants supported by Wireshark have to avoid indirectly using msvcrt.dll,
# therefore compile the zlib dll from source ZLIB_DIR package.
# To avoid path problems, copy the zlib sources to a temp dir,
# compile and copy the resulting files back to (source) ZLIB_DIR
$(ZLIB_DLL):
xcopy $(ZLIB_DIR) zlib.tmp /D /I /E /Y
cd zlib.tmp
!if "$(WIRESHARK_TARGET_PLATFORM)" == "win32"
$(MAKE) /$(MAKEFLAGS) -f win32/Makefile.msc zlib1.dll LOC="-I. -DASMV -DASMINF" OBJA="inffas32.obj match686.obj"
!else
$(MAKE) /$(MAKEFLAGS) -f win32/Makefile.msc zlib1.dll AS=ml64 LOC="-I. -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
!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "zlib1.dll.manifest" -outputresource:zlib1.dll;2
!ENDIF
copy zlib1.dll $(ZLIB_DIR)
copy zdll.lib $(ZLIB_DIR)\lib
copy zconf.h $(ZLIB_DIR)
copy zlib.h $(ZLIB_DIR)
cd ..
rm -r -f zlib.tmp
!ENDIF
wsutil:: version.h
cd wsutil
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
wiretap::
cd wiretap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
capchild:: help config.h version.h doxygen
cd capchild
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libcapchild.lib
cd ..
caputils:: help config.h version.h doxygen
cd caputils
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libcaputils.lib
cd ..
writecap:: help config.h version.h doxygen
cd writecap
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libwritecap.lib
cd ..
randpkt_core:: help config.h version.h doxygen
cd randpkt_core
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake librandpkt_core.lib
cd ..
extcap:: writecap
cd extcap
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake all
cd ..
codecs::
cd codecs
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
ui:: help config.h version.h doxygen
cd ui
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libui.lib
cd ..
gtk:: help config.h version.h doxygen
cd ui/gtk
$(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 version.h doxygen
!IFDEF QT5_BASE_DIR
cd ui/qt
$(QT5_BASE_DIR)\bin\qmake CONFIG+=release Wireshark.pro
!IFDEF ENABLE_CODE_ANALYSIS
-nmake
!ELSE
nmake
!ENDIF
cd ../..
!ENDIF
win32::
cd ui/win32
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libgtkui_win32.lib
cd ../..
cli:: help config.h version.h doxygen
cd ui/cli
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libcliui.lib
cd ../..
epan:: $(RESOURCES) $(ZLIB_DLL) wiretap\wiretap-$(WTAP_VERSION).lib $(BUILT_SOURCES) doxygen
cd epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
plugins::
cd plugins
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
doc::
cd doc
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
docbook::
cd docbook
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
help::
cd help
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
doxygen.cfg: config.nmake doxygen.cfg.in
sed -e s/@VERSION@/$(VERSION)/ \
< doxygen.cfg.in > $@
doxygen-run:
!IFDEF DOXYGEN
$(DOXYGEN) doxygen.cfg
!ENDIF
doxygen: doxygen.cfg doxygen-run
services: tools\make-services.py
$(PYTHON) tools/make-services.py
################################################################################
# Prepare build environment by downloading and installing required libraries
################################################################################
# The required tools to build Wireshark.
#
# The 'find' tool is available both in \WINNT\System32 and in cygwin's /usr/bin.
# We only need the cygwin version (for some shell scripts).
# In the PATH, System32 is before cygwin's dir, so explicitly check for /usr/bin/find.
REQUIRED_TOOLS=\
$(CC) \
$(LINK) \
nmake \
!IFDEF MANIFEST_INFO_REQUIRED
--windowsonly mt \
!ENDIF
$(SH_PROG) \
$(YACC) \
$(LEX) \
env \
grep \
--cygwinonly /usr/bin/find \
peflags \
$(PERL) \
$(PYTHON) \
!IFDEF QT5_BASE_DIR
--windowsonly $(QT5_BASE_DIR)\bin\qmake \
!ENDIF
sed \
unzip \
wget
verify_tools:
# As win-setup.sh assumes the dir exists create it if it doesn't
@if not exist "$(WIRESHARK_LIB_DIR)" md "$(WIRESHARK_LIB_DIR)"
@$(SH) $(WIN_SETUP) --appverify $(REQUIRED_TOOLS)
# Targets and etc used to verify or download libraries
!IFNDEF WIN_SETUP_OPT
WIN_SETUP_OPT=--download
!ENDIF
# Verify that the required library 'package' (zip) files have been downloaded.
# (It seems reasonable to assume that if the files have been downloaded
# then they have been installed).
check_libs:
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake WIN_SETUP_OPT=--libverify process_libs
# Verify library packages:
# If $(CHECK_TAG) is non-null then checktag failed; Exit with an error message. (See beginning of this Makefile).
# Otherwise do detailed library package files verification only if Makefile.nmake or config.make have been updated
# (or dummy file doesn't exist because of 'make clean' or whatever).
# Note that the creation/modification time of a file after a git pull of that file
# is the time of the update (not the time of the file in the repository).
# touch is only called if libverify succeeds.
$(LIBS_CHECK): $(CHECK_TAG) config.nmake Makefile.nmake
@echo Verifying library package files ...
@$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake WIN_SETUP_OPT=--libverify process_libs
@touch $@
# Target for "checktag failed" (libraries not up to date).
# Defined only if "checktag" failed (see beginning of this Makefile).
!IF "$(CHECK_TAG)" != ""
$(CHECK_TAG): _FORCE_
@echo \? Wireshark Libraries not up-to-date \?
@echo \? Do you need to run "nmake -f Makefile.nmake setup" \?
@echo.
@exit 1
!ENDIF
# Download (if needed) and install all the required libraries into WIRESHARK_LIB_DIR.
# A clean_setup is done first to ensure that the target dirs don't
# 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 \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
# 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)"
!IFDEF PCAP_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
WinPcap_$(WINPCAP_VERSION).exe \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!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 \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF KFW_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
!IF "$(WIRESHARK_TARGET_PLATFORM)" == "win32"
kfw-3-2-2-i386-ws-vc6.zip \
!ELSE
kfw-3-2-2-x64-ws.zip \
!ENDIF
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
# @$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
# . \
# kfw-3-2-2.zip \
# "$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF PCAP_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
WpdPack_$(WPD_VERSION).zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF AIRPCAP_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
AirPcap_Devpack_4_1_0_1622 \
AirPcap_Devpack_4_1_0_1622.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF C_ARES_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
c-ares-$(C_ARES_PKG)-$(WIRESHARK_TARGET_PLATFORM)ws.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF ZLIB_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. zlib-1.2.8-ws.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF LUA_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
lua5.2.3 \
lua$(LUA_DIST)_lib.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF GNUTLS_PKG
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
gnutls-$(GNUTLS_PKG)-$(WIRESHARK_TARGET_PLATFORM)ws.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF PORTAUDIO_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
portaudio_v19_2.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF SMI_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
libsmi-$(SMI_PKG)-$(WIRESHARK_TARGET_PLATFORM)ws.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF GEOIP_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
GeoIP-$(GEOIP_PKG)-$(WIRESHARK_TARGET_PLATFORM)ws \
GeoIP-$(GEOIP_PKG)-$(WIRESHARK_TARGET_PLATFORM)ws.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF LIBSSH_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
libssh-0.7.2-$(WIRESHARK_TARGET_PLATFORM)ws.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF WINSPARKLE_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
WinSparkle-$(WINSPARKLE_PKG).zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF HHC_DIR
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
user-guide \
user-guide-gdf2fcdf.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF UPX
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
upx303w.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
!IFDEF NASM
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
nasm-2.09.08-win32.zip \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
@$(SH) $(WIN_SETUP) "$(WIN_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
. \
USBPcapSetup-1.1.0.0-g794bf26-3.exe \
"$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!IF "$(WIN_SETUP_OPT)" == "--download"
@$(SH) $(WIN_SETUP) --settag "$(WIRESHARK_LIB_DIR)" "$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
!ENDIF
@echo.
@echo Wireshark is ready to build.
# Cleanup files installed by the setup target. It will not remove the
# downloaded zip files.
# WHEN UPDATING LIBRARY VERSIONS, KEEP ALSO ONE FORMER VERSION SO
# UPDATING REMOVES THE FORMER USER DIRS
clean_setup:
cd "$(WIRESHARK_LIB_DIR)"
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 c-ares-1.9.1-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 gnutls-2.12.18-*-win??ws
rm -r -f gnutls-3.1.22-*-win??ws
rm -r -f gnutls-3.2.15-*-win??ws
!IF "$(GTK_NAME)" == "gtk2"
rm -r -f gtk2
!ELSE
rm -r -f gtk3
!ENDIF
rm -r -f gtk+
rm -r -f gtk-wimp
rm -r -f kfw-2.5
rm -r -f kfw-3-2-2-final
rm -r -f kfw-3-2-2-i386-ws-vc6
rm -r -f kfw-3-2-2-x64-ws
rm -r -f libiconv-1.9.1.bin.woe32
rm -r -f lua5.1
rm -r -f lua5.1.4
rm -r -f lua5.2.?
rm -r -f libsmi-0.4.5
rm -r -f libsmi-0.4.8
rm -r -f libsmi-svn-40773-win??ws
rm -r -f libssh-0.7.2-win??ws
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 upx301w
rm -r -f upx303w
rm -r -f user-guide
rm -r -f zlib123
rm -r -f zlib125
rm -r -f zlib-1.2.5
rm -r -f zlib-1.2.8
rm -r -f zlib-1.2.8-ws
rm -r -f zlib123-dll
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 GeoIP-1.4.5ws
rm -r -f GeoIP-1.*-win??ws
rm -r -f libssh-0.7.2
rm -r -f WinSparkle-0.3-44-g2c8d9d3-win??ws
rm -r -f WpdPack
cd "$(MAKEDIR)"
################################################################################
# Prepare the debug trees for running Wireshark/Tshark from there.
################################################################################
# prepare debugging of Wireshark in INSTALL_DIR
debug-wireshark: $(PROGRAM_NAME_GTK).exe install-generated-files
# prepare debugging of tshark in INSTALL_DIR
debug-tshark: tshark.exe install-generated-files
# prepare debugging of tfshark in INSTALL_DIR
debug-tfshark: tfshark.exe install-generated-files
# prepare debugging of rawshark in INSTALL_DIR
debug-rawshark: rawshark.exe install-generated-files
# prepare debugging of dumpcap in INSTALL_DIR
debug-dumpcap: dumpcap.exe install-generated-files
# install generated files (exe, "our" libs, ...)
install-generated-files: doc
set copycmd=/y
if not exist $(INSTALL_DIR) mkdir $(INSTALL_DIR)
!IF DEFINED (MSVCR_DLL) && "$(MSVC_VARIANT)" == "MSVC2008"
xcopy "$(MSVCR_DLL)" $(INSTALL_DIR)\*.* /d
!ENDIF
!IFDEF ENABLE_LIBWIRESHARK
xcopy epan\libwireshark.dll $(INSTALL_DIR) /d
if exist epan\libwireshark.lib xcopy .\epan\libwireshark.lib $(INSTALL_DIR) /d
if exist epan\libwireshark.pdb xcopy .\epan\libwireshark.pdb $(INSTALL_DIR) /d
!ENDIF
xcopy ".\codecs\libwscodecs.dll" $(INSTALL_DIR) /d
if exist ".\codecs\libwscodecs.lib" xcopy ".\codecs\libwscodecs.lib" $(INSTALL_DIR) /d
if exist ".\codecs\libwscodecs.pdb" xcopy ".\codecs\libwscodecs.pdb" $(INSTALL_DIR) /d
xcopy ".\wiretap\wiretap-$(WTAP_VERSION).dll" $(INSTALL_DIR) /d
if exist ".\wiretap\wiretap-$(WTAP_VERSION).lib" xcopy ".\wiretap\wiretap-$(WTAP_VERSION).lib" $(INSTALL_DIR) /d
if exist ".\wiretap\wiretap-$(WTAP_VERSION).pdb" xcopy ".\wiretap\wiretap-$(WTAP_VERSION).pdb" $(INSTALL_DIR) /d
xcopy ".\wsutil\libwsutil.dll" $(INSTALL_DIR) /d
if exist ".\wsutil\libwsutil.lib" xcopy ".\wsutil\libwsutil.lib" $(INSTALL_DIR) /d
if exist ".\wsutil\libwsutil.pdb" xcopy ".\wsutil\libwsutil.pdb" $(INSTALL_DIR) /d
if exist $(PROGRAM_NAME_GTK).exe xcopy $(PROGRAM_NAME_GTK).exe $(INSTALL_DIR) /d
if exist $(PROGRAM_NAME_GTK).pdb xcopy $(PROGRAM_NAME_GTK).pdb $(INSTALL_DIR) /d
if exist $(PROGRAM_NAME_GTK).bsc xcopy $(PROGRAM_NAME_GTK).bsc $(INSTALL_DIR) /d
if exist ".\docbook\user-guide.chm" xcopy ".\docbook\user-guide.chm" $(INSTALL_DIR) /d
if not exist $(INSTALL_DIR)\extcap mkdir $(INSTALL_DIR)\extcap
if exist ".\extcap\androiddump.exe" xcopy ".\extcap\androiddump.exe" $(INSTALL_DIR)\extcap /d
if exist ".\extcap\androiddump.pdb" xcopy ".\extcap\androiddump.pdb" $(INSTALL_DIR)\extcap /d
if exist ".\extcap\randpktdump.exe" xcopy ".\extcap\randpktdump.exe" $(INSTALL_DIR)\extcap /d
if exist ".\extcap\randpktdump.pdb" xcopy ".\extcap\randpktdump.pdb" $(INSTALL_DIR)\extcap /d
if exist ".\extcap\sshdump.exe" xcopy ".\extcap\sshdump.exe" $(INSTALL_DIR)\extcap /d
if exist ".\extcap\sshdump.pdb" xcopy ".\extcap\sshdump.pdb" $(INSTALL_DIR)\extcap /d
if exist ".\extcap\ciscodump.exe" xcopy ".\extcap\ciscodump.exe" $(INSTALL_DIR)\extcap /d
if exist ".\extcap\ciscodump.pdb" xcopy ".\extcap\ciscodump.pdb" $(INSTALL_DIR)\extcap /d
if not exist $(INSTALL_DIR_QT)\extcap mkdir $(INSTALL_DIR_QT)\extcap
if exist ".\extcap\androiddump.exe" xcopy ".\extcap\androiddump.exe" $(INSTALL_DIR_QT)\extcap /d
if exist ".\extcap\androiddump.pdb" xcopy ".\extcap\androiddump.pdb" $(INSTALL_DIR_QT)\extcap /d
if exist ".\extcap\randpktdump.exe" xcopy ".\extcap\randpktdump.exe" $(INSTALL_DIR_QT)\extcap /d
if exist ".\extcap\randpktdump.pdb" xcopy ".\extcap\randpktdump.pdb" $(INSTALL_DIR_QT)\extcap /d
if exist ".\extcap\sshdump.exe" xcopy ".\extcap\sshdump.exe" $(INSTALL_DIR_QT)\extcap /d
if exist ".\extcap\sshdump.pdb" xcopy ".\extcap\sshdump.pdb" $(INSTALL_DIR_QT)\extcap /d
if exist ".\extcap\ciscodump.exe" xcopy ".\extcap\ciscodump.exe" $(INSTALL_DIR_QT)\extcap /d
if exist ".\extcap\ciscodump.pdb" xcopy ".\extcap\ciscodump.pdb" $(INSTALL_DIR_QT)\extcap /d
if exist capinfos.exe xcopy capinfos.exe $(INSTALL_DIR) /d
if exist capinfos.pdb xcopy capinfos.pdb $(INSTALL_DIR) /d
if exist captype.exe xcopy captype.exe $(INSTALL_DIR) /d
if exist captype.pdb xcopy captype.pdb $(INSTALL_DIR) /d
if exist dumpcap.exe xcopy dumpcap.exe $(INSTALL_DIR) /d
if exist dumpcap.pdb xcopy dumpcap.pdb $(INSTALL_DIR) /d
if exist editcap.exe xcopy editcap.exe $(INSTALL_DIR) /d
if exist editcap.pdb xcopy editcap.pdb $(INSTALL_DIR) /d
if exist mergecap.exe xcopy mergecap.exe $(INSTALL_DIR) /d
if exist mergecap.pdb xcopy mergecap.pdb $(INSTALL_DIR) /d
if exist randpkt.exe xcopy randpkt.exe $(INSTALL_DIR) /d
if exist randpkt.pdb xcopy randpkt.pdb $(INSTALL_DIR) /d
if exist reordercap.exe xcopy reordercap.exe $(INSTALL_DIR) /d
if exist reordercap.pdb xcopy reordercap.pdb $(INSTALL_DIR) /d
if exist rawshark.exe xcopy rawshark.exe $(INSTALL_DIR) /d
if exist rawshark.pdb xcopy rawshark.pdb $(INSTALL_DIR) /d
if exist text2pcap.exe xcopy text2pcap.exe $(INSTALL_DIR) /d
if exist text2pcap.pdb xcopy text2pcap.pdb $(INSTALL_DIR) /d
if exist tfshark.exe xcopy tfshark.exe $(INSTALL_DIR) /d
if exist tfshark.pdb xcopy tfshark.pdb $(INSTALL_DIR) /d
if exist tshark.exe xcopy tshark.exe $(INSTALL_DIR) /d
if exist tshark.pdb xcopy tshark.pdb $(INSTALL_DIR) /d
xcopy "doc\AUTHORS-SHORT" $(INSTALL_DIR) /d
xcopy ".\manuf" $(INSTALL_DIR) /d
xcopy ".\services" $(INSTALL_DIR) /d
xcopy ".\pdml2html.xsl" $(INSTALL_DIR) /d
$(TEXTIFY) -Destination $(INSTALL_DIR) \
./COPYING \
./NEWS \
./README \
./README.windows
xcopy ".\cfilters" $(INSTALL_DIR) /d
xcopy ".\colorfilters" $(INSTALL_DIR) /d
xcopy ".\dfilters" $(INSTALL_DIR) /d
xcopy ".\smi_modules" $(INSTALL_DIR) /d
!IFDEF LUA_DIR
xcopy ".\epan\wslua\init.lua" $(INSTALL_DIR) /d
xcopy ".\epan\wslua\console.lua" $(INSTALL_DIR) /d
!ENDIF
xcopy ipmap.html $(INSTALL_DIR) /d
xcopy doc\*.html $(INSTALL_DIR) /d
xcopy doc\ws.css $(INSTALL_DIR) /d
if not exist $(INSTALL_DIR)\help mkdir $(INSTALL_DIR)\help
xcopy ".\help\toc" $(INSTALL_DIR)\help /d
$(TEXTIFY) -Destination $(INSTALL_DIR)\help help\*.txt
if not exist $(INSTALL_DIR)\dtds mkdir $(INSTALL_DIR)\dtds
xcopy ".\dtds\*.*" $(INSTALL_DIR)\dtds /d
if not exist $(INSTALL_DIR)\asn1 mkdir $(INSTALL_DIR)\asn1
echo create empty asn1 default.tt file to prevent problems 2> $(INSTALL_DIR)\asn1\default.tt
if not exist $(INSTALL_DIR)\radius mkdir $(INSTALL_DIR)\radius
xcopy ".\radius\*.*" $(INSTALL_DIR)\radius /d
if not exist $(INSTALL_DIR)\diameter mkdir $(INSTALL_DIR)\diameter
xcopy ".\diameter\*.dtd" $(INSTALL_DIR)\diameter /d
xcopy ".\diameter\*.xml" $(INSTALL_DIR)\diameter /d
if not exist $(INSTALL_DIR)\tpncp mkdir $(INSTALL_DIR)\tpncp
xcopy ".\tpncp\*.dat" $(INSTALL_DIR)\tpncp /d
if not exist $(INSTALL_DIR)\wimaxasncp mkdir $(INSTALL_DIR)\wimaxasncp
xcopy ".\wimaxasncp\*.*" $(INSTALL_DIR)\wimaxasncp /d
if not exist $(INSTALL_DIR)\plugins mkdir $(INSTALL_DIR)\plugins
cd plugins
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake install-plugins
cd ..
if not exist $(INSTALL_DIR)\profiles mkdir $(INSTALL_DIR)\profiles
if not exist $(INSTALL_DIR)\profiles\Bluetooth mkdir $(INSTALL_DIR)\profiles\Bluetooth
xcopy ".\profiles\Bluetooth\colorfilters" $(INSTALL_DIR)\profiles\Bluetooth /d
if not exist $(INSTALL_DIR)\profiles\Classic mkdir $(INSTALL_DIR)\profiles\Classic
xcopy ".\profiles\Classic\colorfilters" $(INSTALL_DIR)\profiles\Classic /d
# "install-all" will copy all files needed to run Wireshark/Tshark
# to the INSTALL_DIR, so you can run/debug Wireshark/Tshark from there.
install-all: install-generated-files
set copycmd=/y
if not exist $(INSTALL_DIR) mkdir $(INSTALL_DIR)
!IF "$(GTK_INST_VERSION)" == "3.4" || "$(GTK_INST_VERSION)" == "3.6"
xcopy $(GTK_DIR)\bin\libgdk-3-0.dll $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\libgtk-3-0.dll $(INSTALL_DIR) /d
!ELSE
xcopy $(GTK_DIR)\bin\libgdk-win32-2.0-0.dll $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\libgtk-win32-2.0-0.dll $(INSTALL_DIR) /d
!ENDIF
xcopy $(GTK_DIR)\bin\libgdk_pixbuf-2.0-0.dll $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\libatk-1.0-0.dll $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\libpango-1.0-0.dll $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\libpangowin32-1.0-0.dll $(INSTALL_DIR) /d
if not exist $(INSTALL_DIR)\lib mkdir $(INSTALL_DIR)\lib
if not exist $(INSTALL_DIR)\etc mkdir $(INSTALL_DIR)\etc
if not exist $(INSTALL_DIR)\$(GTK_ETC_DIR) mkdir $(INSTALL_DIR)\$(GTK_ETC_DIR)
xcopy $(GTK_DIR)\$(GTK_ETC_DIR)\*.* $(INSTALL_DIR)\$(GTK_ETC_DIR) /d
# if not exist $(INSTALL_DIR)\etc\pango mkdir $(INSTALL_DIR)\etc\pango
# xcopy $(GTK_DIR)\etc\pango\pango.* $(INSTALL_DIR)\etc\pango /d
!IF "$(GTK_INST_VERSION)" == "3.4" || "$(GTK_INST_VERSION)" == "3.6"
if not exist $(INSTALL_DIR)\lib\gtk-3.0 mkdir $(INSTALL_DIR)\lib\gtk-3.0
if not exist $(INSTALL_DIR)\lib\gtk-3.0\$(GTK_LIB_DIR) mkdir $(INSTALL_DIR)\lib\gtk-3.0\$(GTK_LIB_DIR)
xcopy ".\ui\win32\settings.ini" $(INSTALL_DIR)\$(GTK_ETC_DIR) /d
!ELSE
if not exist $(INSTALL_DIR)\lib\gtk-2.0 mkdir $(INSTALL_DIR)\lib\gtk-2.0
if not exist $(INSTALL_DIR)\lib\gtk-2.0\$(GTK_LIB_DIR) mkdir $(INSTALL_DIR)\lib\gtk-2.0\$(GTK_LIB_DIR)
Use GTK 2.14.5 and glib 2.18.2 Overview of Changes from GLib 2.18.2 to GLib 2.18.3 =================================================== * Build with libtool 2.x * Bugs fixed: 557087 mem leak in g_content_types_get_registered 558185 'parent' variable in g_local_file_get_child_for_display_name() hits g_object_unref(NULL) assertion 557210 g_compute_checksum_for_* asserts with less than 2 bytes 528320 Incorrect icons displayed for files with custom mimetype icons 557592 Missing include in gwinhttpfile.c 556415 Crash on Windows 2000 in g_winhttp_vfs_init() 556910 Memory leak: sub 561352 Leak of icon description 561375 Leaks mountpoint description 560569 gkeyfile doesn't use the set list_separator in some cases 560568 gkeyfile docs buglet 559413 g_option_group_set_error_hook docs buglet Overview of Changes from GTK+ 2.14.4 to 2.14.5 ============================================== * Bugs fixed: 556578 GIMP windows stay on top of other windows 557059 crash when compositing emblems with icon 557266 Window Management Problem 528320 Incorrect icons displayed for files with custom mimetype icons 557894 Wrong return value for gdk_pointer_grab_info_libgtk_only 557316 GtkLinkButton should consider user-defined tooltip 558323 glitches when popping up combos in treeviews 558278 Crash when calling a callback set by gdk_add_client_message_filter 557212 Problem with which window gains focus and is visible 541391 Unfocussable Treeview swallows focus 552956 Should check composite extension version 554567 warning fixes (missing format specifiers and NULL vs 0) svn path=/trunk/; revision=26960
2008-12-10 20:30:34 +00:00
if not exist $(INSTALL_DIR)\lib\gtk-2.0\$(GTK_LIB_DIR)\loaders mkdir $(INSTALL_DIR)\lib\gtk-2.0\$(GTK_LIB_DIR)\loaders
if exist $(GTK_DIR)\lib\gtk-2.0\$(GTK_LIB_DIR)\loaders xcopy $(GTK_DIR)\lib\gtk-2.0\$(GTK_LIB_DIR)\loaders\libpixbufloader-*.dll $(INSTALL_DIR)\lib\gtk-2.0\$(GTK_LIB_DIR)\loaders /d
!ENDIF
!IFDEF GTK_ENGINES_DIR
if not exist $(INSTALL_DIR)\$(GTK_ENGINES_DIR) mkdir $(INSTALL_DIR)\$(GTK_ENGINES_DIR)
xcopy $(GTK_DIR)\$(GTK_ENGINES_DIR)\libpixmap.dll $(INSTALL_DIR)\$(GTK_ENGINES_DIR) /d
xcopy $(GTK_DIR)\$(GTK_ENGINES_DIR)\libwimp.dll $(INSTALL_DIR)\$(GTK_ENGINES_DIR) /d
!ENDIF
!IFDEF GTK_THEMES_DIR
xcopy "$(GTK_DIR)\$(GTK_THEMES_DIR)\gtkrc" $(INSTALL_DIR)\$(GTK_ETC_DIR) /d
!ENDIF
!IFDEF GTK_MODULES_DIR
if not exist $(INSTALL_DIR)\$(GTK_MODULES_DIR) mkdir $(INSTALL_DIR)\$(GTK_MODULES_DIR)
xcopy $(GTK_DIR)\$(GTK_MODULES_DIR)\libgail.dll $(INSTALL_DIR)\$(GTK_MODULES_DIR) /d
!ENDIF
!IFDEF NEED_CAIRO_GOBJECT_DLL
xcopy $(GTK_DIR)\bin\libcairo-gobject-2.dll $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_CAIRO_DLL
xcopy $(GTK_DIR)\bin\libcairo-2.dll $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\libpangocairo-1.0-0.dll $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_EXPAT_DLL
xcopy $(GTK_DIR)\bin\$(EXPAT_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_FFI_DLL
xcopy $(GTK_DIR)\bin\$(FFI_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_FONTCONFIG_DLL
xcopy $(GTK_DIR)\bin\$(FONTCONFIG_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_FREETYPE_DLL
xcopy $(GTK_DIR)\bin\libpangoft2-1.0-0.dll $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\$(FREETYPE_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_HARFBUZZ_DLL
xcopy $(GTK_DIR)\bin\$(HARFBUZZ_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_JASPER_DLL
xcopy $(GTK_DIR)\bin\$(JASPER_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_JPEG_DLL
xcopy $(GTK_DIR)\bin\$(JPEG_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_LZMA_DLL
xcopy $(GTK_DIR)\bin\$(LZMA_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_PIXMAN_DLL
xcopy $(GTK_DIR)\bin\$(PIXMAN_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_PNG_DLL
xcopy $(GTK_DIR)\bin\$(PNG_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_SEH_DLL
xcopy $(GTK_DIR)\bin\$(SEH_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_SJLJ_DLL
xcopy $(GTK_DIR)\bin\$(SJLJ_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_TIFF_DLL
xcopy $(GTK_DIR)\bin\$(TIFF_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF NEED_XML_DLL
xcopy $(GTK_DIR)\bin\$(XML_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF GTK_SCHEMAS_DIR
if not exist $(INSTALL_DIR)\$(GTK_SCHEMAS_DIR) mkdir $(INSTALL_DIR)\$(GTK_SCHEMAS_DIR)
if not exist $(GTK_DIR)\$(GTK_SCHEMAS_DIR)\gschemas.compiled $(GTK_DIR)\bin\glib-compile-schemas $(GTK_DIR)\$(GTK_SCHEMAS_DIR)
xcopy $(GTK_DIR)\$(GTK_SCHEMAS_DIR)\gschemas.compiled $(INSTALL_DIR)\$(GTK_SCHEMAS_DIR) /d
!ENDIF
xcopy $(GTK_DIR)\bin\libgio-2.0-0.dll $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\libglib-2.0-0.dll $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\libgmodule-2.0-0.dll $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\libgobject-2.0-0.dll $(INSTALL_DIR) /d
!IF "$(GTK_PKG)" != "2.24.14-1.1"
xcopy $(GTK_DIR)\bin\$(INTL_DLL) $(INSTALL_DIR) /d
!ENDIF
Extcap Capture Interface Extcap is a plugin interface, which allows for the usage of external capture interfaces via pipes using a predefined configuration language which results in a graphical gui. This implementation seeks for a generic implementation, which results in a seamless integration with the current system, and does add all external interfaces as simple interfaces. Windows Note: Due to limitations with GTK and Windows, a gspawn-winXX-helper.exe, respective gspawn-winXX-helper-console.exe is needed, which is part of any GTK windows installation. The default installation directory from the build is an extcap subdirectory underneath the run directory. The folder used by extcap may be viewed in the folders tab of the about dialog. The default installation directory for extcap plugins with a pre-build or installer version of wireshark is the extcap subdirectory underneath the main wireshark directory. For more information see: http://youtu.be/Nn84T506SwU bug #9009 Also take a look in doc/extcap_example.py for a Python-example and in extcap.pod for the arguments grammer. Todo: - Integrate with Qt - currently no GUI is generated, but the interfaces are still usable Change-Id: I4f1239b2f1ebd8b2969f73af137915f5be1ce50f Signed-off-by: Mike Ryan <mikeryan+wireshark@lacklustre.net> Signed-off-by: Mike Kershaw <dragorn@kismetwireless.net> Signed-off-by: Roland Knall <rknall@gmail.com> Reviewed-on: https://code.wireshark.org/review/359 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-02-25 13:05:11 +00:00
xcopy $(GTK_DIR)\bin\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper.exe $(INSTALL_DIR) /d
xcopy $(GTK_DIR)\bin\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper-console.exe $(INSTALL_DIR) /d
!IFDEF ZLIB_DIR
xcopy $(ZLIB_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF C_ARES_DIR
xcopy $(C_ARES_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF KFW_DIR
xcopy $(KFW_PATH)\$(COMERR_DLL) $(INSTALL_DIR) /d
xcopy $(KFW_PATH)\$(KRB5_DLL) $(INSTALL_DIR) /d
xcopy $(KFW_PATH)\$(K5SPRT_DLL) $(INSTALL_DIR) /d
!ENDIF
!IFDEF GNUTLS_DIR
xcopy $(GNUTLS_DIR)\bin\libffi-6.dll $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\$(GCC_DLL) $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\libgcrypt-20.dll $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\libgmp-10.dll $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\libgnutls-28.dll $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\$(GPGERROR_DLL) $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\libhogweed-2-4.dll $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\libnettle-4-6.dll $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\libp11-kit-0.dll $(INSTALL_DIR) /d
xcopy $(GNUTLS_DIR)\bin\libtasn1-6.dll $(INSTALL_DIR) /d
! IF "$(INTL_DLL)" != "libintl-8.dll" || "$(GTK_PKG)" == "2.24.14-1.1"
# The gtk+ bundle doesn't provide libintl-8.dll (which is the case
# with the 32-bit package) or libintl-8.dll doesn't include
# intl_vasprintf; use the GNUTLS version.
xcopy $(GNUTLS_DIR)\bin\libintl-8.dll $(INSTALL_DIR) /d
! ENDIF
!ENDIF
!IFDEF LUA_DIR
xcopy "$(LUA_DIR)\lua52.dll" $(INSTALL_DIR) /d
!ENDIF
!IFDEF SMI_DIR
if not exist $(INSTALL_DIR)\snmp mkdir $(INSTALL_DIR)\snmp
if not exist $(INSTALL_DIR)\snmp\mibs mkdir $(INSTALL_DIR)\snmp\mibs
xcopy "$(SMI_DIR)\bin\libsmi-2.dll" $(INSTALL_DIR) /d
xcopy "$(SMI_DIR)\share\mibs\iana\*" $(INSTALL_DIR)\snmp\mibs /d
xcopy "$(SMI_DIR)\share\mibs\ietf\*" $(INSTALL_DIR)\snmp\mibs /d
xcopy "$(SMI_DIR)\share\mibs\irtf\*" $(INSTALL_DIR)\snmp\mibs /d
xcopy "$(SMI_DIR)\share\mibs\site\*" $(INSTALL_DIR)\snmp\mibs /d
xcopy "$(SMI_DIR)\share\mibs\tubs\*" $(INSTALL_DIR)\snmp\mibs /d
xcopy "$(SMI_DIR)\share\pibs\*" $(INSTALL_DIR)\snmp\mibs /d
xcopy "$(SMI_DIR)\share\yang\*.yang" $(INSTALL_DIR)\snmp\mibs /d
!ENDIF
!IFDEF GEOIP_DIR
xcopy "$(GEOIP_DIR)\bin\libGeoip-1.dll" $(INSTALL_DIR) /d
!ENDIF
!IFDEF LIBSSH_DIR
xcopy "$(LIBSSH_DIR)\bin\libssh.dll" $(INSTALL_DIR) /d
!ENDIF
!IFDEF WINSPARKLE_DIR
xcopy "$(WINSPARKLE_DIR)\WinSparkle.dll" $(INSTALL_DIR) /d
!ENDIF
cd $(INSTALL_DIR)
peflags --dynamicbase=true --nxcompat=true *.dll
!IF "$(GTK_INST_VERSION)" == "3.4" || "$(GTK_INST_VERSION)" == "3.6"
!ELSE
peflags --dynamicbase=true --nxcompat=true lib/gtk-2.0/*/engines/*.dll
peflags --dynamicbase=true --nxcompat=true lib/gtk-2.0/modules/*.dll
!ENDIF
cd ..
checkapi_local:
$(PERL) tools/checkAPIs.pl -build \
$(WIRESHARK_COMMON_SRC) \
$(EXTCAP_COMMON_SRC) \
$(TSHARK_TAP_SRC) \
# $(EXTRA_wireshark_SOURCES)
checkapi: checkapi_local
cd wiretap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../capchild
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../caputils
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../randpkt_core
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../codecs
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../ui
$(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
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../dfilter
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../ftypes
## $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../wslua
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../dissectors
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ..
cd ../plugins
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../wsutil
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
####
_FORCE_: ## Assumption: no file named _FORCE_ exists in the current directory