forked from osmocom/wireshark
![Guy Harris](/assets/img/avatar_default.png)
there's no need for files in DISTCLEANFILES to be in MAINTAINERCLEANFILES as well. In epan, split the generated source files into those that should be cleaned by "make distclean" and those that shouldn't, and have DISTCLEANFILES include only the ones that should be cleaned by "make distclean" and have MAINTAINERCLEANFILES include the ones that shouldn't be cleaned by "make distclean". This should fix bug 1595. The generated source files don't need to be in EXTRA_DIST. Use LIBWIRESHARK_DISTCLEAN_GENERATED_SRC and LIBWIRESHARK_NODISTCLEAN_GENERATED_SRC in epan/Makefile.nmake. svn path=/trunk/; revision=21882
274 lines
7.9 KiB
Makefile
274 lines
7.9 KiB
Makefile
## Makefile for building wireshark.exe with Microsoft C and nmake
|
|
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
|
|
#
|
|
# $Id$
|
|
|
|
include ..\config.nmake
|
|
include <win32.mak>
|
|
include Makefile.common
|
|
|
|
|
|
############### no need to modify below this line #########
|
|
|
|
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 \
|
|
-D_U_="" $(LOCAL_CFLAGS)
|
|
|
|
CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
|
|
|
|
!IFDEF LUA_DIR
|
|
WSLUA_LIB=wslua\wslua.lib
|
|
WSLUA_DIR=wslua
|
|
!ELSE
|
|
WSLUA_LIB=
|
|
WSLUA_DIR=
|
|
!ENDIf
|
|
|
|
# For use when making libwireshark.dll
|
|
libwireshark_LIBS = \
|
|
$(GLIB_LIBS) \
|
|
$(ADNS_LIBS) \
|
|
$(PCRE_LIBS) \
|
|
$(KFW_LIBS) \
|
|
$(NETTLE_LIBS) \
|
|
$(ZLIB_LIBS) \
|
|
$(GNUTLS_LIBS) \
|
|
$(NET_SNMP_LIBS) \
|
|
$(LUA_LIBS) \
|
|
..\wiretap\wiretap-$(WTAP_VERSION).lib \
|
|
$(ICONV_DIR)\lib\iconv.lib \
|
|
crypt\airpdcap.lib \
|
|
ftypes\ftypes.lib \
|
|
dfilter\dfilter.lib \
|
|
$(WSLUA_LIB) \
|
|
dissectors\dissectors.lib
|
|
|
|
.c.obj::
|
|
$(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
|
|
|
|
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 DOXYGEN
|
|
DOXYGEN_DEP=doxygen
|
|
!ENDIF
|
|
|
|
!IFDEF ENABLE_LIBWIRESHARK
|
|
all: crypt ftypes dfilter $(WSLUA_DIR) dissectors libwireshark.dll
|
|
!ELSE
|
|
all: crypt ftypes dfilter $(WSLUA_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
|
|
@echo Linking libwireshark.dll
|
|
$(link) $(dlllflags) $(conlibsdll) shell32.lib \
|
|
$(LOCAL_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
|
|
link /lib /out:libwireshark.lib $(LIBWIRESHARK_OBJECTS) \
|
|
$(EXTRA_OBJECTS)
|
|
|
|
..\config.h : ..\config.h.win32 ..\config.nmake
|
|
cd ..
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake config.h
|
|
cd epan
|
|
|
|
clean:
|
|
rm -f $(LIBWIRESHARK_OBJECTS) $(EXTRA_OBJECTS) \
|
|
libwireshark.lib libwireshark.dll libwireshark.dll.manifest libwireshark.exp libwireshark.pdb \
|
|
vc60.pdb vc80.pdb doxygen.cfg html/*.* \
|
|
exntest.obj exntest.exe reassemble_test.obj reassemble_test.exe tvbtest.obj tvbtest.exe
|
|
|
|
if exist html rmdir html
|
|
cd crypt
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
|
cd ../ftypes
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
|
cd ../dfilter
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
|
cd ../dissectors
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
|
cd ../wslua
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
|
|
cd ..
|
|
|
|
#
|
|
# We remove the Flex-generated files with "distclean" because they need
|
|
# different #includes for UN*X and Windows (UN*X versions of Flex make it
|
|
# include <unistd.h>, but that's a UN*X-only header), so if you're going
|
|
# to build from source, you need to build those scanners from the
|
|
# corresponding ".l" files with Flex.
|
|
# This might not be necessary for "dtd_grammar.{c,h}", but we handle them
|
|
# the same for now.
|
|
#
|
|
distclean: clean
|
|
rm -f config.h register.c mkstemp.c strptime.c \
|
|
$(LIBWIRESHARK_DISTCLEAN_GENERATED_SRC) \
|
|
$(LIBWIRESHARK_NODISTCLEAN_GENERATED_SRC) \
|
|
dtd_grammar.out dtd_grammar.h sminmpec.c
|
|
cd crypt
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
|
|
cd ../ftypes
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
|
|
cd ../dfilter
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
|
|
cd ../dissectors
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
|
|
cd ../wslua
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
|
|
cd ..
|
|
|
|
maintainer-clean: distclean
|
|
cd crypt
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
|
|
cd ../ftypes
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
|
|
cd ../dfilter
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
|
|
cd ../dissectors
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
|
|
cd ../wslua
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
|
|
cd ..
|
|
|
|
crypt:: ..\config.h
|
|
cd crypt
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
|
cd ..
|
|
|
|
ftypes:: ..\config.h
|
|
cd ftypes
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
|
cd ..
|
|
|
|
dfilter:: ..\config.h
|
|
cd dfilter
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
|
cd ..
|
|
|
|
dissectors:: ..\config.h
|
|
cd dissectors
|
|
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
|
|
cd ..
|
|
|
|
wslua:: ..\config.h
|
|
cd wslua
|
|
$(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
|
|
|
|
# Rules for making unit tests
|
|
exntest: exntest.exe
|
|
reassemble_test: reassemble_test.exe
|
|
tvbtest: tvbtest.exe
|
|
|
|
|
|
|
|
exntest.exe: exntest.obj except.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"
|
|
mt.exe -nologo -manifest "$@.manifest" -outputresource:$@;1
|
|
!ENDIF
|
|
|
|
tvbtest.exe: tvbtest.obj tvbuff.obj except.obj strutil.obj emem.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"
|
|
mt.exe -nologo -manifest "$@.manifest" -outputresource:$@;1
|
|
!ENDIF
|
|
|
|
reassemble_test.exe: reassemble_test.obj tvbuff.obj except.obj strutil.obj emem.obj \
|
|
reassemble.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"
|
|
mt.exe -nologo -manifest "$@.manifest" -outputresource:$@;1
|
|
!ENDIF
|
|
|
|
exntest_install:
|
|
set copycmd=/y
|
|
if exist exntest.exe xcopy exntest.exe $(INSTALL_DIR) /d
|
|
|
|
tvbtest_install:
|
|
set copycmd=/y
|
|
if exist tvbtest.exe xcopy tvbtest.exe $(INSTALL_DIR) /d
|
|
|
|
reassemble_test_install:
|
|
set copycmd=/y
|
|
if exist reassemble_test.exe xcopy reassemble_test.exe $(INSTALL_DIR) /d
|
|
|
|
|
|
# (Windows only) Copy some sources from /trunk to /trunk/epan.
|
|
# It is a cleaner to compile these sources seperately with this makefile than
|
|
# using the object code compiled by the makefile in /trunk for both dynamically
|
|
# and statically linking
|
|
|
|
mkstemp.c: ..\mkstemp.c
|
|
xcopy ..\mkstemp.c . /d
|
|
|
|
strptime.c: ..\strptime.c
|
|
xcopy ..\strptime.c . /d
|
|
|
|
radius_dict.c : radius_dict.l
|
|
$(LEX) radius_dict.l
|
|
|
|
sminmpec.c: enterprise-numbers make-sminmpec.pl
|
|
$(PERL) make-sminmpec.pl enterprise-numbers sminmpec.c
|
|
|
|
dtd_parse.c : dtd_parse.l
|
|
$(LEX) -odtd_parse.c dtd_parse.l
|
|
|
|
dtd_preparse.c : dtd_preparse.l
|
|
$(LEX) -odtd_preparse.c dtd_preparse.l
|
|
|
|
uat_load.c : uat_load.l
|
|
$(LEX) -ouat_load.c uat_load.l
|
|
|
|
dtd_grammar.h: dtd_grammar.c
|
|
|
|
LEMON=..\tools\lemon
|
|
|
|
dtd_grammar.c: dtd_grammar.lemon $(LEMON)\lemon.exe
|
|
$(LEMON)\lemon t=$(LEMON)\lempar.c dtd_grammar.lemon
|
|
|