LINK= link
-CFLAGS=-WX -DHAVE_CONFIG_H /I. /I.. /I../wiretap $(GLIB_CFLAGS) \
- $(ZLIB_CFLAGS) $(ADNS_CFLAGS) $(PCRE_CFLAGS) $(GNUTLS_CFLAGS) /I$(PCAP_DIR)\include \
- $(SMI_CFLAGS) -D_U_="" $(LOCAL_CFLAGS)
+# We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
+GENERATED_CFLAGS=-DHAVE_CONFIG_H /I. /I.. /I../wiretap $(GLIB_CFLAGS) \
+ $(ZLIB_CFLAGS) $(C_ARES_CFLAGS) $(ADNS_CFLAGS) $(PCRE_CFLAGS) \
+ $(GNUTLS_CFLAGS) /I$(PCAP_DIR)\include \
+ $(SMI_CFLAGS) $(GEOIP_CFLAGS) -D_U_="" $(LOCAL_CFLAGS)
+CFLAGS=-WX $(GENERATED_CFLAGS)
CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
WSLUA_DIR=
!ENDIf
+!IFDEF PYTHON_DIR
+WSPYTHON_LIB=wspython\wspython.lib
+WSPYTHON_DIR=wspython
+!ELSE
+WSPYTHON_LIB=
+WSPYTHON_DIR=
+!ENDIf
+
# For use when making libwireshark.dll
libwireshark_LIBS = \
$(GLIB_LIBS) \
+ $(C_ARES_LIBS) \
$(ADNS_LIBS) \
$(PCRE_LIBS) \
$(KFW_LIBS) \
$(ZLIB_LIBS) \
$(GNUTLS_LIBS) \
$(LUA_LIBS) \
+ $(PYTHON_LIBS) \
$(SMI_LIBS) \
+ $(GEOIP_LIBS) \
..\wsutil\libwsutil.lib \
..\wiretap\wiretap-$(WTAP_VERSION).lib \
-!IFDEF ICONV_DIR
- $(ICONV_DIR)\lib\iconv.lib \
-!ENDIF
+ crc\crc.lib \
crypt\airpdcap.lib \
ftypes\ftypes.lib \
dfilter\dfilter.lib \
$(WSLUA_LIB) \
+ $(WSPYTHON_LIB) \
dissectors\dissectors.lib
.c.obj::
LIBWIRESHARK_OBJECTS = $(LIBWIRESHARK_ALL_SRC:.c=.obj)
EXTRA_OBJECTS = \
-# strerror.obj \
- inet_aton.obj \
- inet_pton.obj \
- inet_ntop.obj \
- mkstemp.obj \
- strptime.obj \
-!IFDEF NASM
+!IF defined(NASM) && "$(WIRESHARK_TARGET_PLATFORM)" == "win32"
asm_utils_win32_x86.obj
!ELSE
asm_utils.obj
!ENDIF
-
-
!IFDEF DOXYGEN
DOXYGEN_DEP=doxygen
!ENDIF
!IFDEF ENABLE_LIBWIRESHARK
-all: crypt ftypes dfilter $(WSLUA_DIR) dissectors libwireshark.dll
+all: crc crypt ftypes dfilter $(WSLUA_DIR) $(WSPYTHON_DIR) dissectors libwireshark.dll
!ELSE
-all: crypt ftypes dfilter $(WSLUA_DIR) dissectors libwireshark.lib
+all: crc crypt ftypes dfilter $(WSLUA_DIR) $(WSPYTHON_DIR) dissectors libwireshark.lib
!ENDIF
# For use when making libwireshark.dll
libwireshark.lib: libwireshark.dll
libwireshark.exp: libwireshark.dll
-libwireshark.dll: ..\config.h $(LIBWIRESHARK_OBJECTS) libwireshark.def crypt ftypes dfilter $(WSLUA_DIR) dissectors $(DOXYGEN_DEP) $(EXTRA_OBJECTS) \
- crypt\airpdcap.lib ftypes\ftypes.lib dfilter\dfilter.lib dissectors\dissectors.lib $(WSLUA_LIB) ..\image\libwireshark.res
+libwireshark.dll: ..\config.h $(LIBWIRESHARK_OBJECTS) libwireshark.def crc crypt ftypes dfilter $(WSLUA_DIR) $(WSPYTHON_DIR) dissectors $(DOXYGEN_DEP) $(EXTRA_OBJECTS) \
+ crc\crc.lib crypt\airpdcap.lib ftypes\ftypes.lib dfilter\dfilter.lib dissectors\dissectors.lib $(WSLUA_LIB) $(WSPYTHON_LIB) ..\image\libwireshark.res
@echo Linking libwireshark.dll
$(link) $(dlllflags) $(conlibsdll) shell32.lib \
- $(LOCAL_LDFLAGS) \
+ $(LOCAL_LDFLAGS) $(DLL_LDFLAGS) \
/DEF:libwireshark.def /OUT:libwireshark.dll \
/IMPLIB:libwireshark.lib $(LIBWIRESHARK_OBJECTS) \
$(libwireshark_LIBS) ..\image\libwireshark.res \
dissectors\register.obj \
$(EXTRA_OBJECTS)
-!IF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
- mt.exe -nologo -manifest "libwireshark.dll.manifest" -outputresource:libwireshark.dll;2
-!ENDIF
-
-libwireshark.lib : ..\config.h $(LIBWIRESHARK_OBJECTS) crypt ftypes dfilter $(WSLUA_DIR) dissectors $(DOXYGEN_DEP) $(EXTRA_OBJECTS) \
- crypt\airpdcap.lib ftypes\ftypes.lib dfilter\dfilter.lib $(WSLUA_LIB) dissectors\dissectors.lib
+libwireshark.lib : ..\config.h $(LIBWIRESHARK_OBJECTS) crc crypt ftypes dfilter $(WSLUA_DIR) $(WSPYTHON_DIR) dissectors $(DOXYGEN_DEP) $(EXTRA_OBJECTS) \
+ crc\crc.lib crypt\airpdcap.lib ftypes\ftypes.lib dfilter\dfilter.lib $(WSLUA_LIB) $(WSPYTHON_LIB) dissectors\dissectors.lib
link /lib /out:libwireshark.lib $(LIBWIRESHARK_OBJECTS) \
$(EXTRA_OBJECTS)
clean-local:
rm -f $(LIBWIRESHARK_OBJECTS) $(EXTRA_OBJECTS) \
- libwireshark.lib libwireshark.dll libwireshark.dll.manifest libwireshark.exp libwireshark.pdb \
- vc60.pdb vc80.pdb doxygen.cfg html/*.* \
+ libwireshark.lib libwireshark.dll *.manifest libwireshark.exp \
+ *.pdb doxygen.cfg html/*.* \
exntest.obj exntest.exe reassemble_test.obj reassemble_test.exe tvbtest.obj tvbtest.exe
- if exist html rmdir html
+ if exist html rmdir html
clean: clean-local
- cd crypt
+ cd crc
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+ cd ../crypt
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../ftypes
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ../wslua
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+ cd ../wspython
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
cd ..
#
# the same for now.
#
distclean-local: clean-local
- rm -f config.h register.c mkstemp.c strptime.c \
- inet_ntop.c inet_pton.c \
+ rm -f config.h register.c mkstemp.c \
$(LIBWIRESHARK_DISTCLEAN_GENERATED_SRC) \
$(LIBWIRESHARK_DISTCLEAN_GENERATED_INCLUDES) \
$(LIBWIRESHARK_NODISTCLEAN_GENERATED_SRC) \
$(LIBWIRESHARK_NODISTCLEAN_GENERATED_INCLUDES) \
- dtd_grammar.out sminmpec.c
+ dtd_grammar.out sminmpec.c
distclean: distclean-local
- cd crypt
+ cd crc
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../crypt
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../ftypes
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ../wslua
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+ cd ../wspython
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
cd ..
maintainer-clean-local: distclean-local
maintainer-clean: maintainer-clean-local
- cd crypt
+ cd crc
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
+ cd ../crypt
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../ftypes
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
cd ../wslua
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
+ cd ../wspython
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
+ cd ..
+
+crc:: ..\config.h
+ cd crc
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
crypt:: ..\config.h
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
cd ..
+wspython:: ..\config.h
+ cd wspython
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
+ cd ..
+
doxygen.cfg: ..\config.nmake doxygen.cfg.in
sed -e s/@VERSION@/$(VERSION)/ \
< doxygen.cfg.in > $@
reassemble_test: reassemble_test.exe
tvbtest: tvbtest.exe
+# Object files for exntest
+EXNTEST_OBJ=exntest.obj except.obj
-
-exntest.exe: exntest.obj except.obj
+exntest.exe: $(EXNTEST_OBJ)
@echo Linking $@
$(LINK) /OUT:$@ $(conflags) $(conlibsdll) $(LOCAL_LDFLAGS) /LARGEADDRESSAWARE /SUBSYSTEM:console \
- $(GLIB_LIBS) exntest.obj except.obj
-!IF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
+ $(GLIB_LIBS) $(EXNTEST_OBJ)
+!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "$@.manifest" -outputresource:$@;1
!ENDIF
-tvbtest.exe: tvbtest.obj tvbuff.obj except.obj strutil.obj emem.obj
+# Object files for tvbtest
+TVBTEST_OBJ=tvbtest.obj \
+ tvbuff.obj \
+ except.obj \
+ to_str.obj \
+ strutil.obj \
+ emem.obj
+
+tvbtest.exe: $(TVBTEST_OBJ)
@echo Linking $@
$(LINK) /OUT:$@ $(conflags) $(conlibsdll) $(LOCAL_LDFLAGS) /LARGEADDRESSAWARE /SUBSYSTEM:console \
- $(GLIB_LIBS) $(ZLIB_LIBS) tvbtest.obj tvbuff.obj except.obj strutil.obj emem.obj
-!IF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
+ $(GLIB_LIBS) $(ZLIB_LIBS) $(TVBTEST_OBJ)
+!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "$@.manifest" -outputresource:$@;1
!ENDIF
-reassemble_test.exe: reassemble_test.obj tvbuff.obj except.obj strutil.obj emem.obj \
- reassemble.obj
+# Object files for reassemble_test
+REASSEMBLE_TEST_OBJ=reassemble_test.obj \
+ tvbuff.obj \
+ except.obj \
+ to_str.obj \
+ strutil.obj \
+ emem.obj \
+ reassemble.obj
+
+reassemble_test.exe: $(REASSEMBLE_TEST_OBJ)
@echo Linking $@
$(LINK) /OUT:$@ $(conflags) $(conlibsdll) $(LOCAL_LDFLAGS) /LARGEADDRESSAWARE /SUBSYSTEM:console \
- $(GLIB_LIBS) $(ZLIB_LIBS) reassemble_test.obj tvbuff.obj \
- except.obj strutil.obj emem.obj reassemble.obj
-!IF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20"
+ $(GLIB_LIBS) $(ZLIB_LIBS) $(REASSEMBLE_TEST_OBJ)
+!IFDEF MANIFEST_INFO_REQUIRED
mt.exe -nologo -manifest "$@.manifest" -outputresource:$@;1
!ENDIF
#
!IFDEF NASM
asm_utils_win32_x86.obj: asm_utils_win32_x86.asm
- $(NASM) -f win32 -o $@ $?
+ $(NASM) -f $(WIRESHARK_TARGET_PLATFORM) -o $@ $?
!ENDIF
-# (Windows only) Copy some sources from /trunk to /trunk/epan.
-# It is a cleaner to compile these sources separately with this makefile than
-# using the object code compiled by the makefile in /trunk for both dynamically
-# and statically linking
-
-mkstemp.c: ..\mkstemp.c
- set copycmd=/y
- xcopy ..\mkstemp.c . /d
-
-strptime.c: ..\strptime.c
- set copycmd=/y
- xcopy ..\strptime.c . /d
-
-inet_ntop.c: ..\inet_ntop.c
- set copycmd=/y
- xcopy ..\inet_ntop.c . /d
-
-inet_pton.c: ..\inet_pton.c
- set copycmd=/y
- xcopy ..\inet_pton.c . /d
-
-sminmpec.c: enterprise-numbers make-sminmpec.pl
- $(PERL) make-sminmpec.pl enterprise-numbers sminmpec.c
+sminmpec.c: enterprise-numbers ..\tools\make-sminmpec.pl
+ $(PERL) ../tools/make-sminmpec.pl enterprise-numbers sminmpec.c
RUNLEX=..\tools\runlex.sh
-
+
diam_dict_lex.h: diam_dict.c
diam_dict.obj : diam_dict.c
+ $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) -Fd.\ -c $?
dtd_parse_lex.h: dtd_parse.c
dtd_parse.obj : dtd_parse.c
+ $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) -Fd.\ -c $?
-dtd_preparse.obj : dtd_preparse.c
dtd_preparse_lex.h: dtd_preparse.c
+dtd_preparse.obj : dtd_preparse.c
+ $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) -Fd.\ -c $?
radius_dict_lex.h: radius_dict.c
radius_dict.obj : radius_dict.c
+ $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) -Fd.\ -c $?
uat_load_lex.h: uat_load.c
uat_load.obj : uat_load.c
+ $(CC) $(CVARSDLL) $(GENERATED_CFLAGS) -Fd.\ -c $?
LEMON=..\tools\lemon
$(LEMON)\lemon t=$(LEMON)\lempar.c dtd_grammar.lemon
checkapi:
- $(PERL) ../tools/checkAPIs.pl -g termoutput $(LIBWIRESHARK_SRC) \
+ $(PERL) ../tools/checkAPIs.pl -g termoutput $(LIBWIRESHARK_SRC)