# # NMakefile for Windows MSVC # !IF DEFINED(debug) COMP_TYPE = Debug !ELSE COMP_TYPE = Release !ENDIF !IF DEFINED(debug) IONU_LIBDIR = /libpath:../libeye/x64/Debug OPENSSL_LIBDIR = /libpath:../thirdparty/openssl/lib/$(PLATFORM)/Debug !ELSE IONU_LIBDIR = /libpath:../libeye/Release OPENSSL_LIBDIR = /libpath:../thirdparty/openssl/lib/$(PLATFORM)/Release !ENDIF LIBEYE_INCLUDE = -I../libeye LIBEYE_LIB = libeye.lib OPENSSL_INCLUDE = -I../thirdparty/openssl/include OPENSSL_LIB = libeay32.lib ssleay32.lib PTHREAD_INCLUDE = -I../thirdparty/pthreads-1.11/include PTHREAD_LIBDIR = /libpath:../thirdparty/pthreads-1.11/lib/$(PLATFORM)/$(COMP_TYPE) PTHREAD_LIB = pthreadVCE1.lib WIN_LIBS= OPTIM = /arch:SSE2 /GS /GL /analyze- /W3 /Gy /Zc:wchar_t /Zi /Gm- /O2 /fp:precise /D "WIN32" /D "NDEBUG" /D "_LIB" /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /Gd /Oy- /Oi /MT /EHsc /nologo OPTIMD = /arch:SSE2 /GS /analyze- /W3 /Zc:wchar_t /ZI /Gm /Od /fp:precise /D "WIN32" /D "_DEBUG" /D "_LIB" /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /Oy- /MTd /EHsc /nologo CCFLAGS_COMMON = /TP /W3 /DWIN32 /D_CRT_SECURE_NO_WARNINGS /nologo /I. $(LIBEYE_INCLUDE) $(PTHREAD_INCLUDE) $(OPENSSL_INCLUDE) !IF "$(PLATFORM)" == "win64" LFLAGSO = /LTCG /MACHINE:X64 /NOLOGO LFLAGSD = /MACHINE:X64 /NOLOGO !ELSE LFLAGSO = /LTCG /MACHINE:X86 /NOLOGO LFLAGSD = /MACHINE:X86 /NOLOGO !ENDIF DEBUG_DIR = Debug RELEASE_DIR = Release !IF DEFINED(debug) CCFLAGS = $(OPTIMD) $(CCFLAGS_COMMON) LFLAGS = $(LFLAGSD) OUTPUT_DIR = $(DEBUG_DIR) !ELSE CCFLAGS = $(OPTIM) $(CCFLAGS_COMMON) LFLAGS = $(LFLAGSO) OUTPUT_DIR = $(RELEASE_DIR) !ENDIF OBJDIR = obj/$(PLATFORM)/$(OUTPUT_DIR) LIBDIR = lib/$(PLATFORM)/$(OUTPUT_DIR) BINDIR = bin/$(PLATFORM)/$(OUTPUT_DIR) LIBS = $(LIBDIR)/k2client.lib LIB_OBJS = \ $(OBJDIR)/Hash.obj \ $(OBJDIR)/K2Client.obj \ $(OBJDIR)/proxy.obj \ $(OBJDIR)/servers.obj \ $(OBJDIR)/util.obj \ $(OBJDIR)/platform_binding.obj all: showconfig $(LIBS) compile: showconfig $(LIBS) showconfig: @echo PLATFORM : $(PLATFORM) @echo PLATFORMFLAGS : $(PLATFORMFLAGS) mkdir -p $(OBJDIR) mkdir -p $(LIBDIR) mkdir -p $(BINDIR) $(LIBS): $(LIB_OBJS) Hash.h K2Client.h K2IPC.h platform_binding.h proxy.h servers.h util.h constants.h lib $(LFLAGS) $(LIB_OBJS) /out:$@ {}.cpp{$(OBJDIR)}.obj : cl $(CCFLAGS) -c $< /Fo$@ clean: rm -f $(OBJDIR)/* rm -f $(LIBDIR)/* rm -f $(BINDIR)/* rm -f *.idb rm -f *.pdb bin\$(PLATFORM)\$(OUTPUT_DIR)\testapi.exe: main.cpp $(LIBS) cl /Fe$(BINDIR)/testapi.exe /Fo$(OBJDIR)/main.obj $(CCFLAGS) main.cpp /link /SUBSYSTEM:CONSOLE $(PTHREAD_LIBDIR) $(IONU_LIBDIR) $(LIBS) $(PTHREAD_LIB) $(WIN_LIBS) $(LIBEYE_LIB) test: showconfig $(LIBS) bin\$(PLATFORM)\$(OUTPUT_DIR)\testapi.exe @echo "\n\n*** testapi ***" bin\$(PLATFORM)\$(OUTPUT_DIR)\testapi.exe -health-check $(K2DAEMON) release: showconfig $(LIBS) install: showconfig $(LIBS) package: