1*663afb9bSAndroid Build Coastguard Worker# WATCH OUT! This makefile is a work in progress. -*- makefile -*- 2*663afb9bSAndroid Build Coastguard Worker# 3*663afb9bSAndroid Build Coastguard Worker# I'm not very knowledgeable about MSVC and nmake beyond their most basic 4*663afb9bSAndroid Build Coastguard Worker# aspects. If anything here looks wrong to you, please let me know. 5*663afb9bSAndroid Build Coastguard Worker 6*663afb9bSAndroid Build Coastguard Worker# If OPENSSL_DIR is not set, builds without OpenSSL support. If you want 7*663afb9bSAndroid Build Coastguard Worker# OpenSSL support, you can set the OPENSSL_DIR variable to where you 8*663afb9bSAndroid Build Coastguard Worker# installed OpenSSL. This can be done in the environment: 9*663afb9bSAndroid Build Coastguard Worker# set OPENSSL_DIR=c:\openssl 10*663afb9bSAndroid Build Coastguard Worker# Or on the nmake command line: 11*663afb9bSAndroid Build Coastguard Worker# nmake OPENSSL_DIR=C:\openssl -f Makefile.nmake 12*663afb9bSAndroid Build Coastguard Worker# Or by uncommenting the following line here in the makefile... 13*663afb9bSAndroid Build Coastguard Worker 14*663afb9bSAndroid Build Coastguard Worker# OPENSSL_DIR=c:\openssl 15*663afb9bSAndroid Build Coastguard Worker 16*663afb9bSAndroid Build Coastguard Worker!IFDEF OPENSSL_DIR 17*663afb9bSAndroid Build Coastguard WorkerSSL_CFLAGS=/I$(OPENSSL_DIR)\include /DEVENT__HAVE_OPENSSL 18*663afb9bSAndroid Build Coastguard Worker!ELSE 19*663afb9bSAndroid Build Coastguard WorkerSSL_CFLAGS= 20*663afb9bSAndroid Build Coastguard Worker!ENDIF 21*663afb9bSAndroid Build Coastguard Worker 22*663afb9bSAndroid Build Coastguard Worker# Needed for correctness 23*663afb9bSAndroid Build Coastguard WorkerCFLAGS=/IWIN32-Code /IWIN32-Code/nmake /Iinclude /Icompat /DHAVE_CONFIG_H /I. $(SSL_CFLAGS) 24*663afb9bSAndroid Build Coastguard Worker 25*663afb9bSAndroid Build Coastguard Worker# For optimization and warnings 26*663afb9bSAndroid Build Coastguard WorkerCFLAGS=$(CFLAGS) /Ox /W3 /wd4996 /nologo 27*663afb9bSAndroid Build Coastguard Worker 28*663afb9bSAndroid Build Coastguard Worker# XXXX have a debug mode 29*663afb9bSAndroid Build Coastguard Worker 30*663afb9bSAndroid Build Coastguard WorkerLIBFLAGS=/nologo 31*663afb9bSAndroid Build Coastguard Worker 32*663afb9bSAndroid Build Coastguard WorkerCORE_OBJS=event.obj buffer.obj bufferevent.obj bufferevent_sock.obj \ 33*663afb9bSAndroid Build Coastguard Worker bufferevent_pair.obj listener.obj evmap.obj log.obj evutil.obj \ 34*663afb9bSAndroid Build Coastguard Worker strlcpy.obj signal.obj bufferevent_filter.obj evthread.obj \ 35*663afb9bSAndroid Build Coastguard Worker bufferevent_ratelim.obj evutil_rand.obj evutil_time.obj 36*663afb9bSAndroid Build Coastguard WorkerWIN_OBJS=win32select.obj evthread_win32.obj buffer_iocp.obj \ 37*663afb9bSAndroid Build Coastguard Worker event_iocp.obj bufferevent_async.obj 38*663afb9bSAndroid Build Coastguard WorkerEXTRA_OBJS=event_tagging.obj http.obj evdns.obj evrpc.obj 39*663afb9bSAndroid Build Coastguard Worker 40*663afb9bSAndroid Build Coastguard Worker!IFDEF OPENSSL_DIR 41*663afb9bSAndroid Build Coastguard WorkerSSL_OBJS=bufferevent_openssl.obj 42*663afb9bSAndroid Build Coastguard WorkerSSL_LIBS=libevent_openssl.lib 43*663afb9bSAndroid Build Coastguard Worker!ELSE 44*663afb9bSAndroid Build Coastguard WorkerSSL_OBJS= 45*663afb9bSAndroid Build Coastguard WorkerSSL_LIBS= 46*663afb9bSAndroid Build Coastguard Worker!ENDIF 47*663afb9bSAndroid Build Coastguard Worker 48*663afb9bSAndroid Build Coastguard WorkerALL_OBJS=$(CORE_OBJS) $(WIN_OBJS) $(EXTRA_OBJS) $(SSL_OBJS) 49*663afb9bSAndroid Build Coastguard WorkerSTATIC_LIBS=libevent_core.lib libevent_extras.lib libevent.lib $(SSL_LIBS) 50*663afb9bSAndroid Build Coastguard Worker 51*663afb9bSAndroid Build Coastguard Worker 52*663afb9bSAndroid Build Coastguard Workerall: static_libs tests 53*663afb9bSAndroid Build Coastguard Worker 54*663afb9bSAndroid Build Coastguard Workerstatic_libs: $(STATIC_LIBS) 55*663afb9bSAndroid Build Coastguard Worker 56*663afb9bSAndroid Build Coastguard Workerlibevent_core.lib: $(CORE_OBJS) $(WIN_OBJS) 57*663afb9bSAndroid Build Coastguard Worker lib $(LIBFLAGS) $(CORE_OBJS) $(WIN_OBJS) /out:libevent_core.lib 58*663afb9bSAndroid Build Coastguard Worker 59*663afb9bSAndroid Build Coastguard Workerlibevent_extras.lib: $(EXTRA_OBJS) 60*663afb9bSAndroid Build Coastguard Worker lib $(LIBFLAGS) $(EXTRA_OBJS) /out:libevent_extras.lib 61*663afb9bSAndroid Build Coastguard Worker 62*663afb9bSAndroid Build Coastguard Workerlibevent.lib: $(CORE_OBJS) $(WIN_OBJS) $(EXTRA_OBJS) 63*663afb9bSAndroid Build Coastguard Worker lib $(LIBFLAGS) $(CORE_OBJS) $(EXTRA_OBJS) $(WIN_OBJS) /out:libevent.lib 64*663afb9bSAndroid Build Coastguard Worker 65*663afb9bSAndroid Build Coastguard Workerlibevent_openssl.lib: $(SSL_OBJS) 66*663afb9bSAndroid Build Coastguard Worker lib $(LIBFLAGS) $(SSL_OBJS) /out:libevent_openssl.lib 67*663afb9bSAndroid Build Coastguard Worker 68*663afb9bSAndroid Build Coastguard Workerclean: 69*663afb9bSAndroid Build Coastguard Worker del $(ALL_OBJS) 70*663afb9bSAndroid Build Coastguard Worker del $(STATIC_LIBS) 71*663afb9bSAndroid Build Coastguard Worker cd test 72*663afb9bSAndroid Build Coastguard Worker $(MAKE) /F Makefile.nmake clean 73*663afb9bSAndroid Build Coastguard Worker cd .. 74*663afb9bSAndroid Build Coastguard Worker 75*663afb9bSAndroid Build Coastguard Workertests: 76*663afb9bSAndroid Build Coastguard Worker cd test 77*663afb9bSAndroid Build Coastguard Worker!IFDEF OPENSSL_DIR 78*663afb9bSAndroid Build Coastguard Worker $(MAKE) OPENSSL_DIR=$(OPENSSL_DIR) /F Makefile.nmake 79*663afb9bSAndroid Build Coastguard Worker!ELSE 80*663afb9bSAndroid Build Coastguard Worker $(MAKE) /F Makefile.nmake 81*663afb9bSAndroid Build Coastguard Worker!ENDIF 82*663afb9bSAndroid Build Coastguard Worker cd .. 83