Edit

kc3-lang/libevent/Makefile.nmake

Branch :

  • Show log

    Commit

  • Author : Mark Ellzey
    Date : 2015-12-20 00:57:50
    Hash : a264da86
    Message : Revert "The Windows socket type is defined as SOCKET."

  • Makefile.nmake
  • # 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 ..