wireshark/epan/Makefile.nmake
Guy Harris 6616a3770c Make the "maintainer-clean" rules get rid of some additional generated
files.  Do this with GENERATED_HEADER_FILES, GENERATED_C_FILES, and
GENERATED_FILES macros in Makefile.common files, along the lines of what
wiretap/Makefile.common has.

Clean up "*~" files with "make clean" rather than only "make distclean"
in some additional places.

Add "maintainer-clean" rules to the Makefile.nmake files, paralelling
the ones in the automake-generated Makefile.in files, using the
GENERATED_FILES macros from Makefile.common files.  In some cases, move
the cleanup of files from "make distclean" to "make maintainer-clean",
and in other cases, put in a comment indicating why we're not doing that
(because some files that are distributed in the source tarballs, namely
Flex output, were built with a UN*X Flex and won't compile on Windows,
so we get rid of them with "make distclean" so you can clean up stuff
that *has* to be re-generated for Windows).

Clean up some *CLEANFILES definitions - get rid of ones that no longer
apply as files were moved or that add to the definition a name that's
already there.

svn path=/trunk/; revision=13402
2005-02-14 20:33:57 +00:00

143 lines
3.5 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) /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 \
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