## Makefile for building wireshark.exe with Microsoft C and nmake ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # # $Id$ include ..\config.nmake include 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 libwireshark.dll libwireshark_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 $< LIBWIRESHARK_OBJECTS = $(LIBWIRESHARK_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_LIBWIRESHARK all: ftypes dfilter dissectors libwireshark.dll !ELSE all: ftypes dfilter dissectors ethereal.lib !ENDIF # For use when making libwireshark.dll libwireshark.lib: libwireshark.dll libwireshark.exp: libwireshark.dll libwireshark.dll: ..\config.h $(LIBWIRESHARK_OBJECTS) libwireshark.def ftypes dfilter dissectors $(DOXYGEN_DEP) $(EXTRA_OBJECTS) \ ftypes\ftypes.lib dfilter\dfilter.lib dissectors\dissectors.lib ..\image\libwireshark.res @echo Linking libwireshark.dll $(link) $(dlllflags) $(conlibsdll) \ $(LOCAL_LDFLAGS) \ /DEF:libwireshark.def /OUT:libwireshark.dll \ /IMPLIB:libwireshark.lib $(LIBWIRESHARK_OBJECTS) \ $(libwireshark_LIBS) ..\image\libwireshark.res \ dissectors\register.obj \ $(EXTRA_OBJECTS) ethereal.lib : ..\config.h $(LIBWIRESHARK_OBJECTS) ftypes dfilter dissectors $(DOXYGEN_DEP) $(EXTRA_OBJECTS) \ ftypes\ftypes.lib dfilter\dfilter.lib dissectors\dissectors.lib link /lib /out:ethereal.lib $(LIBWIRESHARK_OBJECTS) \ $(EXTRA_OBJECTS) ..\config.h : ..\config.h.win32 ..\config.nmake cd .. $(MAKE) -f Makefile.nmake config.h cd epan clean: rm -f $(LIBWIRESHARK_OBJECTS) $(EXTRA_OBJECTS) ethereal.lib libwireshark.dll libwireshark.lib libwireshark.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 , 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