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