aboutsummaryrefslogtreecommitdiffstats
path: root/epan/Makefile.nmake
blob: f3a7802112c618dc925b13084bb0a10da870a250 (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
## 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
	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 ..

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