+## Makefile for building ethereal.exe with Microsoft C and nmake
+## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
+#
+# $Id$
+
include ..\..\config.nmake
############### no need to modify below this line #########
LEMON=..\..\tools\lemon
-CFLAGS=/MT /DHAVE_CONFIG_H /I. /I.. /I..\.. /I$(LEMON) \
- /I$(GLIB_DIR) /I$(GTK_DIR) /I$(GLIB_DIR)\gmodule \
- /I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
- /I$(PCAP_DIR)\include $(LOCAL_CFLAGS)
+CFLAGS=-DHAVE_CONFIG_H /I. /I.. /I..\.. /I$(LEMON) \
+ $(GLIB_CFLAGS) $(PCRE_CFLAGS) /I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
+CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
-{$S}.c{$O}.obj::
- $(CC) $(CFLAGS) -Fd$O\ -c $<
+.c.obj::
+ $(CC) $(CVARSDLL) $(CFLAGS) -Fd.\ -c $<
OBJECTS = \
dfilter.obj \
+ dfunctions.obj \
dfvm.obj \
+ drange.obj \
gencode.obj \
glib-util.obj \
grammar.obj \
scanner.obj \
semcheck.obj \
+ sttype-function.obj \
+ sttype-integer.obj \
sttype-pointer.obj \
sttype-range.obj \
sttype-string.obj \
sttype-test.obj \
syntax-tree.obj
-
dfilter.lib : $(OBJECTS)
- lib /out:dfilter.lib $(OBJECTS)
+ link /lib /out:dfilter.lib $(OBJECTS)
+$(OBJECTS): ..\..\config.h
-clean:
- rm -f $(OBJECTS) scanner.c grammar.c grammar.h grammar.out dfilter.lib
-
+..\..\config.h: ..\..\config.h.win32 ..\..\config.nmake
+ cd ..\..
+ $(MAKE) -f Makefile.nmake config.h
+ cd epan\dfilter
+clean:
+ rm -f $(OBJECTS) dfilter.lib $(PDB_FILE)
+
+#
+# We remove the generated files with "distclean" because one of them,
+# "scanner.c", needs 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 "scanner.c" from "scanner.l" with Flex.
+# This might not be necessary for "grammar.{c,h}", but we handle them
+# the same for now.
+#
+distclean: clean
+ rm -f scanner.c grammar.c grammar.h grammar.out
+
+maintainer-clean: distclean
scanner.c : scanner.l
$(LEX) -Pdf_ -oscanner.c scanner.l
scanner.obj : scanner.c grammar.h
-grammar.c : grammar.h
-grammar.h : grammar.lemon
+grammar.h : grammar.c
+grammar.c : grammar.lemon $(LEMON)\lemon.exe
$(LEMON)\lemon.exe t=$(LEMON)\lempar.c grammar.lemon
+$(LEMON)\lemon.exe:
+ cd ../../tools/lemon
+ $(MAKE) -f makefile.nmake
+ cd ../../epan/dfilter