forked from osmocom/wireshark
181 lines
4.7 KiB
Makefile
181 lines
4.7 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>
|
|
include Makefile.common
|
|
|
|
|
|
############### no need to modify below this line #########
|
|
|
|
CFLAGS=-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
|
|
|
|
# For use when making libethereal.dll
|
|
libethereal_LIBS = \
|
|
$(GLIB_LIBS) \
|
|
$(ADNS_LIBS) \
|
|
$(PCRE_LIBS) \
|
|
$(NETTLE_LIBS) \
|
|
$(ZLIB_LIBS) \
|
|
$(GNUTLS_LIBS) \
|
|
$(NET_SNMP_DIR)\win32\lib\release\netsnmp.lib \
|
|
$(ICONV_DIR)\lib\iconv.lib \
|
|
ftypes\ftypes.lib \
|
|
dfilter\dfilter.lib \
|
|
dissectors\dissectors.lib
|
|
|
|
.c.obj::
|
|
$(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
|
|
|
|
LIBETHEREAL_OBJECTS = $(LIBETHEREAL_SRC:.c=.obj)
|
|
|
|
EXTRA_OBJECTS = \
|
|
# snprintf.obj \
|
|
# strerror.obj \
|
|
inet_aton.obj \
|
|
inet_pton.obj \
|
|
inet_ntop.obj \
|
|
mkstemp.obj \
|
|
strptime.obj
|
|
|
|
|
|
!IFDEF DOXYGEN
|
|
DOXYGEN_DEP=doxygen
|
|
!ENDIF
|
|
|
|
!IFDEF ENABLE_LIBETHEREAL
|
|
all: ftypes dfilter dissectors libethereal.dll
|
|
!ELSE
|
|
all: ftypes dfilter dissectors ethereal.lib
|
|
!ENDIF
|
|
|
|
# For use when making libethereal.dll
|
|
libethereal.lib: libethereal.dll
|
|
libethereal.exp: libethereal.dll
|
|
|
|
libethereal.dll: ..\config.h $(LIBETHEREAL_OBJECTS) libethereal.def ftypes dfilter dissectors $(DOXYGEN_DEP) $(EXTRA_OBJECTS) \
|
|
ftypes\ftypes.lib dfilter\dfilter.lib dissectors\dissectors.lib ..\image\libethereal.res
|
|
@echo Linking libethereal.dll
|
|
$(link) $(dlllflags) $(conlibsdll) \
|
|
$(LOCAL_LDFLAGS) \
|
|
/DEF:libethereal.def /OUT:libethereal.dll \
|
|
/IMPLIB:libethereal.lib $(LIBETHEREAL_OBJECTS) \
|
|
$(libethereal_LIBS) ..\image\libethereal.res \
|
|
dissectors\register.obj \
|
|
$(EXTRA_OBJECTS)
|
|
|
|
ethereal.lib : ..\config.h $(LIBETHEREAL_OBJECTS) ftypes dfilter dissectors $(DOXYGEN_DEP) $(EXTRA_OBJECTS) \
|
|
ftypes\ftypes.lib dfilter\dfilter.lib dissectors\dissectors.lib
|
|
link /lib /out:ethereal.lib $(LIBETHEREAL_OBJECTS) \
|
|
$(EXTRA_OBJECTS)
|
|
|
|
..\config.h : ..\config.h.win32 ..\config.nmake
|
|
cd ..
|
|
$(MAKE) -f Makefile.nmake config.h
|
|
cd epan
|
|
|
|
clean:
|
|
rm -f $(LIBETHEREAL_OBJECTS) $(EXTRA_OBJECTS) ethereal.lib libethereal.dll libethereal.lib libethereal.exp $(PDB_FILE) doxygen.cfg html/*.*
|
|
if exist html rmdir html
|
|
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 ..
|
|
|
|
#
|
|
# 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 radius_dict.c \
|
|
dtd_grammar.out dtd_grammar.c dtd_grammar.h dtd_parse.c \
|
|
dtd_preparse.c
|
|
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 ..
|
|
|
|
maintainer-clean: distclean
|
|
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 ..
|
|
|
|
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 ..
|
|
|
|
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
|
|
|
|
|
|
# (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
|
|
|
|
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
|
|
|