# This makefile builds the user-mode component # of OpenVPN for Windows in the Visual Studio 2008 environment. # To build: # python win\config.py # nmake /f msvc.mak # Each of the OPENSSL and LZO dirs should have 'lib' and 'include' # directories under them. OPENSSL = @OPENSSL_DIR@ OPENSSL_DYNAMIC = libeay32.lib ssleay32.lib LZO = @LZO_DIR@ LZO_DYNAMIC = lzo2.lib INCLUDE_DIRS = -I$(OPENSSL)/include -I$(LZO)/include LIBS = $(OPENSSL_DYNAMIC) $(LZO_DYNAMIC) ws2_32.lib crypt32.lib iphlpapi.lib winmm.lib user32.lib gdi32.lib advapi32.lib wininet.lib LIB_DIRS = -LIBPATH:$(OPENSSL)\lib -LIBPATH:$(LZO)\lib EXE = openvpn.exe CPP=cl.exe CPP_ARG_COMMON=/nologo /W3 -DWIN32 -DWIN32_LEAN_AND_MEAN -D_CONSOLE -D_MBCS -D_CRT_SECURE_NO_DEPRECATE $(INCLUDE_DIRS) /FD /c LINK32=link.exe !ifdef PRODUCT_OPENVPN_DEBUG # debug: CPP_PROJ=$(CPP_ARG_COMMON) /MD /Z7 LINK32_FLAGS=/nologo /subsystem:console /incremental:no /opt:ref /opt:icf /debug /out:"$(EXE)" # old debug: #CPP_PROJ=$(CPP_ARG_COMMON) /MDd /Zi /Od -D_DEBUG #LINK32_FLAGS=/nologo /subsystem:console /incremental:no /debug /out:"$(EXE)" !else # release: CPP_PROJ=$(CPP_ARG_COMMON) /O2 /MD -DNDEBUG LINK32_FLAGS=/nologo /subsystem:console /incremental:no /out:"$(EXE)" !endif # HEADERS and OBJS definitions, automatically generated @HEADERS_OBJS@ openvpn : $(OBJS) $(LINK32) @<< $(LINK32_FLAGS) $(LIB_DIRS) $(LIBS) $(OBJS) << clean : del /Q $(OBJS) $(EXE) *.idb *.pdb .c.obj:: $(CPP) @<< $(CPP_PROJ) $< <<