2b15cb3d09
Thanks to roberto for providing pointers to wedge this into HEAD. Approved by: roberto
83 lines
2.3 KiB
Makefile
83 lines
2.3 KiB
Makefile
# WATCH OUT! This makefile is a work in progress. -*- makefile -*-
|
|
#
|
|
# I'm not very knowledgeable about MSVC and nmake beyond their most basic
|
|
# aspects. If anything here looks wrong to you, please let me know.
|
|
|
|
# If OPENSSL_DIR is not set, builds without OpenSSL support. If you want
|
|
# OpenSSL support, you can set the OPENSSL_DIR variable to where you
|
|
# installed OpenSSL. This can be done in the environment:
|
|
# set OPENSSL_DIR=c:\openssl
|
|
# Or on the nmake command line:
|
|
# nmake OPENSSL_DIR=C:\openssl -f Makefile.nmake
|
|
# Or by uncommenting the following line here in the makefile...
|
|
|
|
# OPENSSL_DIR=c:\openssl
|
|
|
|
!IFDEF OPENSSL_DIR
|
|
SSL_CFLAGS=/I$(OPENSSL_DIR)\include /DEVENT__HAVE_OPENSSL
|
|
!ELSE
|
|
SSL_CFLAGS=
|
|
!ENDIF
|
|
|
|
# Needed for correctness
|
|
CFLAGS=/IWIN32-Code /IWIN32-Code/nmake /Iinclude /Icompat /DHAVE_CONFIG_H /I. $(SSL_CFLAGS)
|
|
|
|
# For optimization and warnings
|
|
CFLAGS=$(CFLAGS) /Ox /W3 /wd4996 /nologo
|
|
|
|
# XXXX have a debug mode
|
|
|
|
LIBFLAGS=/nologo
|
|
|
|
CORE_OBJS=event.obj buffer.obj bufferevent.obj bufferevent_sock.obj \
|
|
bufferevent_pair.obj listener.obj evmap.obj log.obj evutil.obj \
|
|
strlcpy.obj signal.obj bufferevent_filter.obj evthread.obj \
|
|
bufferevent_ratelim.obj evutil_rand.obj evutil_time.obj
|
|
WIN_OBJS=win32select.obj evthread_win32.obj buffer_iocp.obj \
|
|
event_iocp.obj bufferevent_async.obj
|
|
EXTRA_OBJS=event_tagging.obj http.obj evdns.obj evrpc.obj
|
|
|
|
!IFDEF OPENSSL_DIR
|
|
SSL_OBJS=bufferevent_openssl.obj
|
|
SSL_LIBS=libevent_openssl.lib
|
|
!ELSE
|
|
SSL_OBJS=
|
|
SSL_LIBS=
|
|
!ENDIF
|
|
|
|
ALL_OBJS=$(CORE_OBJS) $(WIN_OBJS) $(EXTRA_OBJS) $(SSL_OBJS)
|
|
STATIC_LIBS=libevent_core.lib libevent_extras.lib libevent.lib $(SSL_LIBS)
|
|
|
|
|
|
all: static_libs tests
|
|
|
|
static_libs: $(STATIC_LIBS)
|
|
|
|
libevent_core.lib: $(CORE_OBJS) $(WIN_OBJS)
|
|
lib $(LIBFLAGS) $(CORE_OBJS) $(WIN_OBJS) /out:libevent_core.lib
|
|
|
|
libevent_extras.lib: $(EXTRA_OBJS)
|
|
lib $(LIBFLAGS) $(EXTRA_OBJS) /out:libevent_extras.lib
|
|
|
|
libevent.lib: $(CORE_OBJS) $(WIN_OBJS) $(EXTRA_OBJS)
|
|
lib $(LIBFLAGS) $(CORE_OBJS) $(EXTRA_OBJS) $(WIN_OBJS) /out:libevent.lib
|
|
|
|
libevent_openssl.lib: $(SSL_OBJS)
|
|
lib $(LIBFLAGS) $(SSL_OBJS) /out:libevent_openssl.lib
|
|
|
|
clean:
|
|
del $(ALL_OBJS)
|
|
del $(STATIC_LIBS)
|
|
cd test
|
|
$(MAKE) /F Makefile.nmake clean
|
|
cd ..
|
|
|
|
tests:
|
|
cd test
|
|
!IFDEF OPENSSL_DIR
|
|
$(MAKE) OPENSSL_DIR=$(OPENSSL_DIR) /F Makefile.nmake
|
|
!ELSE
|
|
$(MAKE) /F Makefile.nmake
|
|
!ENDIF
|
|
cd ..
|