## Makefile for building ethereal.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) /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) \ $(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 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 $(EXTRA_OBJECTS) ..\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) $(EXTRA_OBJECTS) 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 .. distclean: clean rm -f config.h register.c mkstemp.c strptime.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 /y strptime.c: ..\strptime.c xcopy ..\strptime.c . /d /y