aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dfilter/Makefile.nmake
blob: 3045e2e6b0b1a96927534f1634c98ffe5e7724fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
## 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 *.nativecodeanalysis.xml *.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)