![Lars Roland](/assets/img/avatar_default.png)
in the plugins subdirectory. This target will copy all plugins to plugins/$(VERSION), thus (t)ethereal will find and load the plugins when called from within the source tree. call this target from the main nmake makefile after installing other dependencies. call it from the nmake makefile in the doc subdirectory before calling "tethereal -G". This way "tethereal -G" will recognize the filterable fields from the plugins, too. svn path=/trunk/; revision=14284
588 lines
18 KiB
Makefile
588 lines
18 KiB
Makefile
## Makefile for building ethereal.exe with Microsoft C and nmake
|
|
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
|
|
#
|
|
# $Id$
|
|
|
|
include config.nmake
|
|
include <win32.mak>
|
|
|
|
############### no need to modify below this line #########
|
|
|
|
CC = cl
|
|
LINK= link
|
|
|
|
LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)
|
|
|
|
CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) $(GLIB_CFLAGS) /I. /Iwiretap \
|
|
$(ZLIB_CFLAGS) /I$(PCAP_DIR)\include \
|
|
/I$(NET_SNMP_DIR)\include /I$(NET_SNMP_DIR)\win32 \
|
|
$(ADNS_CFLAGS) $(PCRE_CFLAGS) -D_U_="" -D_NEED_VAR_IMPORT_
|
|
|
|
CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
|
|
|
|
.c.obj::
|
|
$(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
|
|
|
|
PLATFORM_SRC = capture-wpcap.c
|
|
|
|
include Makefile.common
|
|
|
|
ethereal_OBJECTS = $(ethereal_SOURCES:.c=.obj)
|
|
tethereal_OBJECTS = $(tethereal_SOURCES:.c=.obj)
|
|
dftest_OBJECTS = $(dftest_SOURCES:.c=.obj)
|
|
|
|
randpkt_OBJECTS = $(randpkt_SOURCES:.c=.obj)
|
|
|
|
command_line_OBJECTS = setargv.obj
|
|
|
|
EXTRA_OBJECTS = \
|
|
# snprintf.obj \
|
|
# strerror.obj \
|
|
mkstemp.obj \
|
|
strptime.obj
|
|
|
|
ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
wsock32.lib user32.lib shell32.lib \
|
|
$(NET_SNMP_DIR)\win32\lib\release\netsnmp.lib \
|
|
!IFDEF ENABLE_LIBETHEREAL
|
|
epan\libethereal.lib \
|
|
!ELSE
|
|
epan\dissectors\dissectors.lib \
|
|
epan\ethereal.lib \
|
|
epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
|
|
$(ADNS_LIBS) \
|
|
$(PCRE_LIBS) \
|
|
$(ZLIB_LIBS)
|
|
!ENDIF
|
|
# $(PCAP_DIR)\lib\wpcap.lib
|
|
|
|
tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
wsock32.lib user32.lib \
|
|
$(GLIB_LIBS) \
|
|
$(NET_SNMP_DIR)\win32\lib\release\netsnmp.lib \
|
|
!IFDEF ENABLE_LIBETHEREAL
|
|
epan\libethereal.lib \
|
|
!ELSE
|
|
epan\dissectors\dissectors.lib \
|
|
epan\ethereal.lib \
|
|
epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
|
|
$(ADNS_LIBS) \
|
|
$(PCRE_LIBS) \
|
|
$(ZLIB_LIBS)
|
|
!ENDIF
|
|
|
|
capinfos_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
wsock32.lib user32.lib \
|
|
$(GLIB_LIBS)
|
|
|
|
editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
wsock32.lib user32.lib \
|
|
$(GLIB_LIBS)
|
|
|
|
mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
wsock32.lib user32.lib \
|
|
$(GLIB_LIBS)
|
|
|
|
dftest_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
wsock32.lib user32.lib \
|
|
$(GLIB_LIBS) \
|
|
$(NET_SNMP_DIR)\win32\lib\release\netsnmp.lib \
|
|
!IFDEF ENABLE_LIBETHEREAL
|
|
epan\libethereal.lib \
|
|
!ELSE
|
|
epan\dissectors\dissectors.lib \
|
|
epan\ethereal.lib \
|
|
epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
|
|
$(ADNS_LIBS) \
|
|
$(PCRE_LIBS) \
|
|
$(ZLIB_LIBS)
|
|
!ENDIF
|
|
|
|
randpkt_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
user32.lib \
|
|
$(GLIB_LIBS) \
|
|
$(NET_SNMP_DIR)\win32\lib\release\netsnmp.lib
|
|
|
|
EXECUTABLES=ethereal.exe ethereal-gtk2.exe tethereal.exe \
|
|
capinfos.exe editcap.exe mergecap.exe text2pcap.exe
|
|
|
|
RESOURCES=image\ethereal.res image\libethereal.res image\tethereal.res \
|
|
image\capinfos.res image\editcap.res image\mergecap.res \
|
|
image\text2pcap.res image\wiretap.res
|
|
|
|
all: config.h tools image wiretap epan $(EXECUTABLES) $(RESOURCES) doc
|
|
|
|
packaging: all
|
|
cd packaging
|
|
cd nsis
|
|
nmake -f makefile.nmake
|
|
cd ..
|
|
cd ..
|
|
|
|
separate_packaging: all
|
|
cd packaging
|
|
cd nsis
|
|
!IFDEF GTK1_DIR
|
|
nmake -f makefile.nmake GTK1_ONLY="USE"
|
|
!ENDIF
|
|
!IFDEF GTK2_DIR
|
|
nmake -f makefile.nmake GTK2_ONLY="USE"
|
|
!ENDIF
|
|
cd ..
|
|
cd ..
|
|
|
|
$(RESOURCES): image
|
|
|
|
wiretap\wiretap-$(WTAP_VERSION).lib: wiretap
|
|
|
|
!IFNDEF GTK1_DIR
|
|
ethereal.exe :
|
|
!ELSE
|
|
ethereal.exe : config.h svnversion.h $(ethereal_OBJECTS) epan gtk image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk\libui.lib plugins
|
|
@echo Linking $@
|
|
$(LINK) @<<
|
|
/OUT:ethereal.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(GTK1_LIBS) gtk\libui.lib $(ethereal_OBJECTS) image\ethereal.res
|
|
<<
|
|
!ENDIF
|
|
|
|
!IFNDEF GTK2_DIR
|
|
ethereal-gtk2.exe :
|
|
!ELSE
|
|
ethereal-gtk2.exe : config.h svnversion.h $(ethereal_OBJECTS) epan gtk2 image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk2.tmp\libui.lib plugins
|
|
@echo Linking $@
|
|
$(LINK) @<<
|
|
/OUT:ethereal-gtk2.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(GTK2_LIBS) gtk2.tmp\libui.lib $(ethereal_OBJECTS) image\ethereal.res
|
|
<<
|
|
!ENDIF
|
|
|
|
tethereal.exe : config.h svnversion.h $(tethereal_OBJECTS) epan image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
|
|
@echo Linking $@
|
|
$(LINK) @<<
|
|
/OUT:tethereal.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(tethereal_LIBS) $(tethereal_OBJECTS) $(command_line_OBJECTS) image\tethereal.res
|
|
<<
|
|
|
|
capinfos.exe : config.h capinfos.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\capinfos.res
|
|
@echo Linking $@
|
|
$(LINK) @<<
|
|
/OUT:capinfos.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console capinfos.obj getopt.obj $(command_line_OBJECTS) $(capinfos_LIBS) image\capinfos.res
|
|
<<
|
|
|
|
editcap.exe : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res
|
|
@echo Linking $@
|
|
$(LINK) @<<
|
|
/OUT:editcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console editcap.obj getopt.obj $(command_line_OBJECTS) $(editcap_LIBS) image\editcap.res
|
|
<<
|
|
|
|
mergecap.exe : config.h svnversion.h mergecap.obj merge.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\mergecap.res
|
|
@echo Linking $@
|
|
$(LINK) @<<
|
|
/OUT:mergecap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console mergecap.obj merge.obj getopt.obj $(command_line_OBJECTS) $(mergecap_LIBS) image\mergecap.res
|
|
<<
|
|
|
|
text2pcap.exe : config.h text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.obj image\text2pcap.res
|
|
@echo Linking $@
|
|
$(LINK) @<<
|
|
/OUT:text2pcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.obj $(command_line_OBJECTS) image\text2pcap.res
|
|
<<
|
|
|
|
dftest.exe : $(dftest_OBJECTS) epan
|
|
$(LINK) @<<
|
|
/OUT:dftest.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(dftest_LIBS) $(dftest_OBJECTS)
|
|
<<
|
|
|
|
randpkt.exe : $(randpkt_OBJECTS)
|
|
$(LINK) @<<
|
|
/OUT:randpkt.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(randpkt_LIBS) $(randpkt_OBJECTS) $(command_line_OBJECTS)
|
|
<<
|
|
|
|
config.h : config.h.win32 config.nmake
|
|
sed -e s/@VERSION@/$(VERSION)/ \
|
|
-e "s/@HAVE_GNU_ADNS@/$(ADNS_CONFIG)/" \
|
|
-e "s/@HAVE_PCRE@/$(PCRE_CONFIG)/" \
|
|
-e "s/@HAVE_NETTLE@/$(NETTLE_CONFIG)/" \
|
|
-e "s/@HAVE_LIBZ@/$(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_LIBETHEREALDLL@/$(LIBETHEREAL_CONFIG)/" \
|
|
-e "s/@WPCAP_CONSTIFIED@/$(WPCAP_CONSTIFIED_CONFIG)/" \
|
|
< config.h.win32 > $@
|
|
|
|
ps.c : rdps.exe print.ps
|
|
rdps print.ps ps.c
|
|
|
|
|
|
#
|
|
# Build the version string
|
|
#
|
|
svnversion.h:
|
|
$(PERL) make-version.pl
|
|
|
|
#
|
|
# Build the short version of the authors file for the about dialog
|
|
#
|
|
AUTHORS-SHORT: AUTHORS make-authors-short.pl
|
|
$(PERL) perlnoutf.pl make-authors-short.pl < AUTHORS > AUTHORS-SHORT
|
|
|
|
#
|
|
# Build the short version of the authors file with formatting codes for
|
|
# the man page
|
|
#
|
|
AUTHORS-SHORT-FORMAT: AUTHORS-SHORT make-authors-format.pl
|
|
$(PERL) perlnoutf.pl make-authors-format.pl < AUTHORS-SHORT > AUTHORS-SHORT-FORMAT
|
|
|
|
#
|
|
# Build "tethereal-tap-register.c", which contains a function
|
|
# "register_all_tap_listeners()"
|
|
# that calls the register routines for all tehtereal tap listeners.
|
|
#
|
|
# We do this by grepping through sources.
|
|
#
|
|
# Formatting conventions: The name of the tap_listener_register_*
|
|
# routines must start in column zero, or must be preceded only by
|
|
# "void " starting in column zero, and must not be inside #if.
|
|
#
|
|
# The first argument is the name of the file to write.
|
|
# The second argument is the directory in which the source files live.
|
|
# All subsequent arguments are the files to scan.
|
|
#
|
|
tethereal-tap-register.c: $(TETHEREAL_TAP_SRC) make-tapreg-dotc
|
|
@echo Making tethereal-tap-register.c
|
|
@$(SH) make-tapreg-dotc tethereal-tap-register.c . $(TETHEREAL_TAP_SRC)
|
|
|
|
text2pcap-scanner.c : text2pcap-scanner.l
|
|
$(LEX) -otext2pcap-scanner.c text2pcap-scanner.l
|
|
|
|
gtk2_distclean:
|
|
rm -f gtk2.tmp/*.*
|
|
if exist gtk2.tmp rmdir gtk2.tmp
|
|
|
|
clean: gtk2_distclean
|
|
rm -f $(ethereal_OBJECTS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) \
|
|
$(EXECUTABLES) $(PDB_FILE) \
|
|
capinfos.obj editcap.obj mergecap.obj text2pcap.obj getopt.obj\
|
|
text2pcap-scanner.obj text2pcap-scanner.c rdps.obj \
|
|
rdps.pdb rdps.exe rdps.ilk config.h ps.c AUTHORS-SHORT \
|
|
AUTHORS-SHORT-FORMAT \
|
|
dftest.obj dftest.exe randpkt.obj randpkt.ext doxygen.cfg \
|
|
$(RESOURCES)
|
|
cd wiretap
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
|
cd ../gtk
|
|
$(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 ../help
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
|
cd ../packaging/nsis
|
|
$(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: clean gtk2_distclean
|
|
rm -f config.h $(BUILT_SOURCES)
|
|
cd wiretap
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
|
|
cd ../gtk
|
|
$(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 ../help
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
|
|
cd ../packaging/nsis
|
|
$(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: distclean
|
|
rm -f $(GENERATED_FILES)
|
|
cd wiretap
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
|
|
cd ../gtk
|
|
$(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 ../help
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
|
|
cd ../packaging/nsis
|
|
$(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 ..
|
|
|
|
wiretap::
|
|
cd wiretap
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
|
cd ..
|
|
|
|
gtk:: help config.h svnversion.h AUTHORS-SHORT doxygen
|
|
cd gtk
|
|
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake GTK_CFLAGS="$(GTK1_CFLAGS)" GTK_LIBS="$(GTK1_LIBS)" libui.lib
|
|
cd ..
|
|
|
|
# copy all required files to gtk2.tmp (but only when newer than existing) and compile in that dir
|
|
gtk2:: help config.h svnversion.h AUTHORS-SHORT
|
|
if not exist gtk2.tmp mkdir gtk2.tmp
|
|
cd gtk
|
|
xcopy Makefile.* ..\gtk2.tmp /d /y
|
|
xcopy *.c ..\gtk2.tmp /d /y
|
|
xcopy *.h ..\gtk2.tmp /d /y
|
|
cd ..\gtk2.tmp
|
|
$(MAKE) /$(MAKEFLAGS) /f Makefile.nmake GTK_CFLAGS="$(GTK2_CFLAGS)" GTK_LIBS="$(GTK2_LIBS)" libui.lib
|
|
cd ..
|
|
|
|
epan:: $(RESOURCES) $(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 ..
|
|
|
|
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
|
|
|
|
################################################################################
|
|
# Prepare build environment by downloading and installing required libraries
|
|
################################################################################
|
|
|
|
REQUIRED_TOOLS=\
|
|
$(SH) \
|
|
$(YACC) \
|
|
$(LEX) \
|
|
grep \
|
|
/usr/bin/find \
|
|
$(PERL) \
|
|
$(PYTHON) \
|
|
sed \
|
|
unzip \
|
|
wget
|
|
|
|
verify_tools:
|
|
@$(SH) tools\win32-setup.sh --appverify $(REQUIRED_TOOLS)
|
|
|
|
# Download and install all the required libraries into ETHEREAL_LIBS.
|
|
# If you used this setup target before, consider doing a clean_setup.
|
|
setup: verify_tools
|
|
!IF "$(GTK2_INST_VERSION)" == "2.4"
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
glib gtk2.4/glib-2.4.7.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
glib gtk2.4/glib-dev-2.4.7.zip
|
|
!ELSE
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
glib glib-2.2.3-20040116.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
glib glib-dev-2.2.3-20040116.zip
|
|
!ENDIF
|
|
!IFDEF GTK1_DIR
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk+ gtk+-1.3.0-20030717.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk+ gtk+-dev-1.3.0-20030115.zip
|
|
!ENDIF
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
libiconv-1.9.1.bin.woe32 libiconv-1.9.1.bin.woe32.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gettext-runtime-0.13.1 gettext-runtime-0.13.1.zip
|
|
!IFDEF NET_SNMP_DIR
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
. net-snmp-5.1.2.zip
|
|
!ENDIF
|
|
!IFDEF PCAP_DIR
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
. wpdpack_3_0.zip
|
|
!ENDIF
|
|
!IFDEF ADNS_DIR
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
. adns-1.0-win32-04.zip
|
|
!ENDIF
|
|
!IFDEF PCRE_DIR
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
. pcre-4.4.zip
|
|
!ENDIF
|
|
!IFDEF ZLIB_DIR
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
zlib122-dll zlib122-dll.zip
|
|
!ENDIF
|
|
!IFDEF GTK2_DIR
|
|
!IF "$(GTK2_INST_VERSION)" == "2.4"
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2.4/gtk+-2.4.14.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2.4/gtk+-dev-2.4.14.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2.4/atk-1.6.0.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2.4/atk-dev-1.6.0.zip
|
|
!ELSE
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2/gtk+-2.2.4-20040124.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2/gtk+-dev-2.2.4-20040124.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2/atk-1.4.0.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2/atk-dev-1.4.0.zip
|
|
!ENDIF
|
|
!IF "$(PANGO_INST_VERSION)" == "1.4"
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2.4/pango-1.4.1.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2.4/pango-dev-1.4.1.zip
|
|
!ELSE
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2/pango-1.2.5-20040124.zip
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk2 gtk2/pango-dev-1.2.5-20040124.zip
|
|
!ENDIF
|
|
!ENDIF
|
|
!IFDEF GTK_WIMP_DIR
|
|
@$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
|
|
gtk-wimp gtk-wimp/gtk-wimp-0.6.2-bin.zip
|
|
!ENDIF
|
|
@echo.
|
|
@echo Ethereal is ready to build.
|
|
|
|
# Cleanup files installed by the setup target. It will not remove the
|
|
# downloaded zip files.
|
|
clean_setup:
|
|
rm -r -f $(ETHEREAL_LIBS)/glib
|
|
rm -r -f $(ETHEREAL_LIBS)/gtk+
|
|
rm -r -f $(ETHEREAL_LIBS)/libiconv-1.9.1.bin.woe32
|
|
rm -r -f $(ETHEREAL_LIBS)/gettext-runtime-0.13.1
|
|
rm -r -f $(ETHEREAL_LIBS)/zlib122-dll
|
|
rm -r -f $(ETHEREAL_LIBS)/gtk2
|
|
rm -r -f $(ETHEREAL_LIBS)/gtk-wimp
|
|
|
|
################################################################################
|
|
# Prepare the source tree for running (t)ethereal directly from there.
|
|
################################################################################
|
|
|
|
# "install-deps" will copy all dlls needed to run (t)ethereal
|
|
# to the source tree, so you can run (t)ethereal directly from there.
|
|
# Note that the gtk2 version of ethereal is called ethereal-gtk2.exe
|
|
|
|
install-deps: clean_deps install-gtk1-deps install-gtk2-deps
|
|
cd plugins
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake install-plugins
|
|
cd ..
|
|
|
|
install-gtk2-deps: install-required-deps
|
|
!IFDEF GTK2_DIR
|
|
xcopy $(GTK2_DIR)\bin\libgdk-win32-2.0-0.dll . /d /y
|
|
xcopy $(GTK2_DIR)\bin\libgdk_pixbuf-2.0-0.dll . /d /y
|
|
xcopy $(GTK2_DIR)\bin\libgtk-win32-2.0-0.dll . /d /y
|
|
xcopy $(GTK2_DIR)\bin\libatk-1.0-0.dll . /d /y
|
|
xcopy $(GTK2_DIR)\bin\libpango-1.0-0.dll . /d /y
|
|
xcopy $(GTK2_DIR)\bin\libpangowin32-1.0-0.dll . /d /y
|
|
mkdir etc
|
|
mkdir etc\gtk-2.0
|
|
mkdir etc\pango
|
|
mkdir lib
|
|
mkdir lib\gtk-2.0
|
|
mkdir lib\gtk-2.0\$(GTK2_INST_VERSION).0
|
|
mkdir lib\gtk-2.0\$(GTK2_INST_VERSION).0\loaders
|
|
mkdir lib\gtk-2.0\$(GTK2_INST_VERSION).0\immodules
|
|
mkdir lib\pango
|
|
mkdir lib\pango\$(PANGO_INST_VERSION).0
|
|
mkdir lib\pango\$(PANGO_INST_VERSION).0\modules
|
|
xcopy $(GTK2_DIR)\etc\gtk-2.0\*.* etc\gtk-2.0 /d /y
|
|
xcopy $(GTK2_DIR)\etc\pango\pango.* etc\pango /d /y
|
|
xcopy $(GTK2_DIR)\lib\gtk-2.0\$(GTK2_INST_VERSION).0\loaders\libpixbufloader-*.dll lib\gtk-2.0\$(GTK2_INST_VERSION).0\loaders /d /y
|
|
xcopy $(GTK2_DIR)\lib\gtk-2.0\$(GTK2_INST_VERSION).0\immodules\im-*.dll lib\gtk-2.0\$(GTK2_INST_VERSION).0\immodules /d /y
|
|
xcopy $(GTK2_DIR)\lib\pango\$(PANGO_INST_VERSION).0\modules\pango-*.dll lib\pango\$(PANGO_INST_VERSION).0\modules /d /y
|
|
!ENDIF
|
|
|
|
install-gtk1-deps: install-required-deps
|
|
!IFDEF GTK1_DIR
|
|
xcopy $(GTK1_DIR)\lib\libgtk-0.dll . /d /y
|
|
xcopy $(GTK1_DIR)\lib\libgdk-0.dll . /d /y
|
|
!ENDIF
|
|
|
|
install-required-deps:
|
|
xcopy wiretap\wiretap-$(WTAP_VERSION).dll . /d /y
|
|
!IFDEF ENABLE_LIBETHEREAL
|
|
xcopy epan\libethereal.dll . /d /y
|
|
!ENDIF
|
|
xcopy $(GLIB_DIR)\bin\libglib-2.0-0.dll . /d /y
|
|
xcopy $(GLIB_DIR)\bin\libgmodule-2.0-0.dll . /d /y
|
|
xcopy $(GLIB_DIR)\bin\libgobject-2.0-0.dll . /d /y
|
|
xcopy $(ICONV_DIR)\bin\iconv.dll . /d /y
|
|
xcopy $(GETTEXT_DIR)\bin\intl.dll . /d /y
|
|
!IFDEF ZLIB_DIR
|
|
xcopy $(ZLIB_DIR)\zlib1.dll . /d /y
|
|
!ENDIF
|
|
!IFDEF ADNS_DIR
|
|
xcopy $(ADNS_DIR)\adns_win32\LIB\adns_dll.dll . /d /y
|
|
!ENDIF
|
|
!IFDEF PCRE_DIR
|
|
xcopy $(PCRE_DIR)\bin\pcre.dll . /d /y
|
|
!ENDIF
|
|
|
|
clean_deps:
|
|
rm -f *.dll
|
|
rm -rf etc
|
|
rm -rf lib
|
|
cd plugins
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean_deps
|
|
cd ..
|
|
|
|
|