1# WATCH OUT!  This makefile is a work in progress.  It is probably missing
2# tons of important things.  DO NOT RELY ON IT TO BUILD A GOOD LIBEVENT.
3
4# Needed for correctness
5CFLAGS=/IWIN32-Code /Iinclude /Icompat /DWIN32 /DHAVE_CONFIG_H /I.
6
7# For optimization and warnings
8CFLAGS=$(CFLAGS) /Ox /W3 /wd4996 /nologo
9
10# XXXX have a debug mode
11
12LIBFLAGS=/nologo
13
14CORE_OBJS=event.obj buffer.obj bufferevent.obj bufferevent_sock.obj \
15	bufferevent_pair.obj listener.obj evmap.obj log.obj evutil.obj \
16	strlcpy.obj signal.obj bufferevent_filter.obj evthread.obj \
17	bufferevent_ratelim.obj evutil_rand.obj
18WIN_OBJS=win32select.obj evthread_win32.obj buffer_iocp.obj \
19	event_iocp.obj bufferevent_async.obj
20EXTRA_OBJS=event_tagging.obj http.obj evdns.obj evrpc.obj
21
22ALL_OBJS=$(CORE_OBJS) $(WIN_OBJS) $(EXTRA_OBJS)
23STATIC_LIBS=libevent_core.lib libevent_extras.lib libevent.lib
24
25
26all: static_libs tests
27
28static_libs: $(STATIC_LIBS)
29
30libevent_core.lib: $(CORE_OBJS) $(WIN_OBJS)
31	lib $(LIBFLAGS) $(CORE_OBJS) $(WIN_OBJS) /out:libevent_core.lib 
32
33libevent_extras.lib: $(EXTRA_OBJS)
34	lib $(LIBFLAGS) $(EXTRA_OBJS) /out:libevent_extras.lib
35
36libevent.lib: $(CORE_OBJS) $(WIN_OBJS) $(EXTRA_OBJS)
37	lib $(LIBFLAGS) $(CORE_OBJS) $(EXTRA_OBJS) $(WIN_OBJS) /out:libevent.lib
38
39clean:
40	del $(ALL_OBJS)
41	del $(STATIC_LIBS)
42	cd test
43	$(MAKE) /F Makefile.nmake clean
44
45tests:
46	cd test
47	$(MAKE) /F Makefile.nmake
48