.c.obj::
$(CC) $(CFLAGS) -Fd.\ -c $<
-PLATFORM_SRC = capture-wpcap.c capture_wpcap_packet.c capture_win_ifnames.c
-
-WTAP_PLUGIN_SOURCES = \
- epan/plugins.c \
- epan/filesystem.c
+PLATFORM_PCAP_SRC = \
+ capture-wpcap.c \
+ capture_wpcap_packet.c \
+ capture_win_ifnames.c
include Makefile.common
wireshark_OBJECTS = $(WIRESHARK_COMMON_SRC:.c=.obj)
tshark_OBJECTS = $(tshark_SOURCES:.c=.obj)
+tfshark_OBJECTS = $(tfshark_SOURCES:.c=.obj)
rawshark_OBJECTS = $(rawshark_SOURCES:.c=.obj)
###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)
wsutil\libwsutil.lib \
$(GNUTLS_LIBS) \
$(PYTHON_LIBS) \
- $(ZLIB_LIBS) \
$(WINSPARKLE_LIBS) \
!IFDEF ENABLE_LIBWIRESHARK
epan\libwireshark.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 \
$(ZLIB_LIBS)
!ENDIF
+tfshark_LIBS= filetap\filetap-$(FTAP_VERSION).lib \
+ wiretap\wiretap-$(WTAP_VERSION).lib \
+ wsock32.lib user32.lib psapi.lib \
+ $(GLIB_LIBS) \
+ $(GTHREAD_LIBS) \
+ wsutil\libwsutil.lib \
+ $(GNUTLS_LIBS) \
+ $(PYTHON_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 \
+ wsock32.lib user32.lib psapi.lib \
$(GLIB_LIBS) \
wsutil\libwsutil.lib \
$(GNUTLS_LIBS) \
$(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 \
$(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) \
wsutil\libwsutil.lib \
$(GLIB_LIBS)
-EXECUTABLES=wireshark.exe tshark.exe rawshark.exe \
- capinfos.exe editcap.exe mergecap.exe text2pcap.exe randpkt.exe \
- reordercap.exe dumpcap.exe dftest.exe
+EXECUTABLES=wireshark.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) 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 \
- image\wiretap.res image\dumpcap.res image\rawshark.res \
- image\reordercap.res image\libwsutil.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\filetap.res image\dumpcap.res \
+ image\rawshark.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 filetap epan $(EXECUTABLES) wireshark.bsc $(RESOURCES) help install-all
!IFDEF MAKENSIS
packaging: all
@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
epan\dissectors\*.sbr \
epan\ftypes\*.sbr \
epan\wslua\*.sbr \
+ filetap\*.sbr \
plugins\asn1\*.sbr \
plugins\docsis\*.sbr \
plugins\ethercat\*.sbr \
## 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 are defined in win32.mak).
+filetap\filetap-$(FTAP_VERSION).lib: image $(ZLIB_DLL) filetap
wiretap\wiretap-$(WTAP_VERSION).lib: image $(ZLIB_DLL) wiretap
wireshark.exe : $(LIBS_CHECK) config.h $(wireshark_OBJECTS) codecs epan ui gtk win32 image\wireshark.res image\file_dlg_win32.res wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib codecs\codecs.lib ui\libui.lib ui\gtk\libgtkui.lib ui\win32\libgtkui_win32.lib plugins
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) @<<
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 filetap\filetap-$(FTAP_VERSION).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) epan ui image\rawshark.res wsutil\libwsutil.lib wiretap\wiretap-$(WTAP_VERSION).lib plugins
@echo Linking $@
$(LINK) @<<
mt.exe -nologo -manifest "rawshark.exe.manifest" -outputresource:rawshark.exe;1
!ENDIF
-# XXX: This makefile does not properly handle doing a 'nmake ... capinfos.exe' directly since some of the .objs
-# (e.g. epan\plugins.obj) must be built first using epan\Makefile.nmake (which happens for 'nmake ... all').
# 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 $@
mt.exe -nologo -manifest "capinfos.exe.manifest" -outputresource:capinfos.exe;1
!ENDIF
-# XXX: This makefile does not properly handle doing a 'nmake ... editcap.exe' directly since some of the .objs
-# (e.g. epan\plugins.obj) must be built first using epan\Makefile.nmake (which happens for 'nmake ... all').
+# 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) @<<
SMI_DIR = $(SMI_DIR:\=/)
KFW_DIR = $(KFW_DIR:\=/)
LUA_DIR = $(LUA_DIR:\=/)
-PORTAUDIO_DIR = $(PORTAUDIO_DIR:\=/)
GEOIP_DIR = $(GEOIP_DIR:\=/)
WINSPARKLE_DIR = $(WINSPARKLE_DIR:\=/)
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
# The following targets will rebuild their respective objs
# if and when svnversion.h should change.
#
-text2pcap.obj mergecap.obj capinfos.obj editcap.obj reordercap.obj version_info.obj: svnversion.h
+text2pcap.obj mergecap.obj capinfos.obj captype.obj editcap.obj reordercap.obj version_info.obj: svnversion.h
clean-local:
- rm -f $(wireshark_OBJECTS) $(tshark_OBJECTS) $(dumpcap_OBJECTS) $(rawshark_OBJECTS) \
+ rm -f $(wireshark_OBJECTS) $(tshark_OBJECTS) $(tfshark_OBJECTS) $(dumpcap_OBJECTS) $(rawshark_OBJECTS) \
$(EXECUTABLES) *.pdb *.sbr *.exe.manifest \
- capinfos.obj capinfos.exp editcap.obj editcap.exp \
+ 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 \
libwsutil.dll \
wireshark.bsc
rm -rf $(INSTALL_DIR)
+ rm -rf wireshark-qt-release
clean: clean-local
cd asn1
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../wsutil
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+ cd ../filetap
+ $(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 ../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 ../../..
distclean: distclean-local
cd wiretap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../filetap
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../wsutil
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../codecs
$(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 ../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 ../../..
maintainer-clean: maintainer-clean-local
cd wiretap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
+ cd ../filetap
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../wsutil
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../codecs
$(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 ../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 ../../..
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
+filetap::
+ cd filetap
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
+ cd ..
+
codecs::
cd codecs
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
$(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
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake libcliui.lib
cd ../..
-epan:: $(RESOURCES) $(ZLIB_DLL) wiretap\wiretap-$(WTAP_VERSION).lib $(BUILT_SOURCES) doxygen
+epan:: $(RESOURCES) $(ZLIB_DLL) wiretap\wiretap-$(WTAP_VERSION).lib filetap\filetap-$(FTAP_VERSION).lib $(BUILT_SOURCES) doxygen
cd epan
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
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
peflags \
$(PERL) \
$(PYTHON) \
+!IFDEF QT5_BASE_DIR
+ --windowsonly $(QT5_BASE_DIR)\bin\qmake \
+!ENDIF
sed \
unzip \
wget
# 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
!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)" \
# 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
# 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"
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 ".\filetap\filetap-$(FTAP_VERSION).dll" $(INSTALL_DIR) /d
+ if exist ".\filetap\filetap-$(FTAP_VERSION).lib" xcopy ".\filetap\filetap-$(FTAP_VERSION).lib" $(INSTALL_DIR) /d
+ if exist ".\filetap\filetap-$(FTAP_VERSION).pdb" xcopy ".\filetap\filetap-$(FTAP_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 ".\docbook\user-guide.chm" xcopy ".\docbook\user-guide.chm" $(INSTALL_DIR) /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 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
checkapi: checkapi_local
cd wiretap
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
+ cd ../filetap
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../codecs
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake checkapi
cd ../ui