wireshark/epan/dfilter/Makefile.nmake

82 lines
2.0 KiB
Makefile

## Makefile for building wireshark.exe with Microsoft C and nmake
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
#
include ..\..\config.nmake
include ..\..\Makefile.nmake.inc
include Makefile.common
LEMON=..\..\tools\lemon
# We GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
GENERATED_CFLAGS=\
$(STANDARD_CFLAGS) \
/I. /I.. /I..\.. $(GLIB_CFLAGS) \
/I$(LEMON) \
/I$(PCAP_DIR)\include \
-DWS_BUILD_DLL
CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
.c.obj::
$(CC) $(CFLAGS) -Fd.\ -c $<
OBJECTS=\
$(NONGENERATED_C_FILES:.c=.obj) \
$(GENERATED_C_FILES:.c=.obj) \
$(NODIST_GENERATED_C_FILES:.c=.obj)
dfilter.lib : $(OBJECTS)
link /lib /out:dfilter.lib $(OBJECTS)
$(OBJECTS): ..\..\config.h
..\..\config.h: ..\..\config.h.win32 ..\..\config.nmake
cd ..\..
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake config.h
cd epan\dfilter
clean:
rm -f $(OBJECTS) dfilter.lib *.pdb *.sbr
#
# 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 $(GENERATED_C_FILES) \
$(NODIST_GENERATED_C_FILES) \
$(GENERATED_HEADER_FILES) \
$(NODIST_GENERATED_HEADER_FILES) \
grammar.out
maintainer-clean: distclean
RUNLEX=..\..\tools\runlex.sh
scanner_lex.h : scanner.c
scanner.obj : scanner.c grammar.h
$(CC) $(GENERATED_CFLAGS) -Fd.\ -c scanner.c
scanner.c: grammar.h
grammar.h : grammar.c
grammar.c : $(LEMON)\lemon.exe $(LEMON)\lempar.c grammar.lemon
$(LEMON)\lemon.exe t=$(LEMON)\lempar.c grammar.lemon
$(LEMON)\lemon.exe:
cd ../../tools
$(MAKE) /$(MAKEFLAGS) -f Makefile.nmake lemon
cd ../epan/dfilter
checkapi:
$(PERL) ../../tools/checkAPIs.pl -g termoutput -build \
$(GENERATOR_FILES) \
$(NONGENERATED_C_FILES)