1#define OPENSSL_STATIC if you have visual studio compatible with OpenSSL's static binaries
2#OPENSSL_STATIC_DIR = static
3
4!IF "$(DEBUG)" != ""
5DEBUG_SUFFIX = d
6DEBUG_COMPILE = /DDEBUG /Zi /Od
7DEBUG_LINK = /DEBUG
8!ENDIF
9
10!IF "$(BUILD_FOR)" == "WIN64"
11MACHINE = /MACHINE:X64
12!IF "$(OPENSSL_DIR)" == ""
13OPENSSL_DIR = C:\OpenSSL-Win64
14!ENDIF
15!ELSE
16MACHINE = /MACHINE:X86
17!IF "$(OPENSSL_DIR)" == ""
18OPENSSL_DIR = C:\OpenSSL-Win32
19!ENDIF
20!ENDIF
21
22!IF "$(OPENSSL_INC)" == ""
23OPENSSL_INC = /I"$(OPENSSL_DIR)\include"
24!ENDIF
25
26!IF "$(OPENSSL_STATIC_DIR)" == ""
27OPENSSL_LIB = $(OPENSSL_DIR)\lib\libeay32.lib
28!IF EXIST($(OPENSSL_LIB))
29!MESSAGE OpenSSL < 1.1.0 detected (dynamic library)
30!ELSE
31!MESSAGE OpenSSL >= 1.1.0 detected (dynamic library)
32OPENSSL_LIB = $(OPENSSL_DIR)\lib\libcrypto.lib
33!ENDIF
34!ELSE
35OPENSSL_LIB = $(OPENSSL_DIR)\lib\VC\static\libeay32MT$(DEBUG_SUFFIX).lib
36!IF EXIST($(OPENSSL_LIB))
37!MESSAGE OpenSSL < 1.1.0 detected (static library)
38!ELSE
39OPENSSL_LIB = $(OPENSSL_DIR)\lib\VC\static\libcryptoMT$(DEBUG_SUFFIX).lib
40!MESSAGE OpenSSL >= 1.1.x detected (static library)
41!ENDIF
42!ENDIF
43
44LIBS = "$(OPENSSL_LIB)" ws2_32.lib user32.lib advapi32.lib crypt32.lib gdi32.lib
45
46CFLAGS =  /nologo /GS /W3 /D_CRT_SECURE_NO_DEPRECATE /MT$(DEBUG_SUFFIX) $(OPENSSL_INC) /D_WIN32_WINNT=0x0502 /DWIN32_LEAN_AND_MEAN $(DEBUG_COMPILE)
47
48LINKFLAGS = /NOLOGO /INCREMENTAL:NO $(MACHINE) /MANIFEST:NO /NXCOMPAT /DYNAMICBASE $(DEBUG_LINK)
49