aboutsummaryrefslogblamecommitdiff
path: root/win/msvc.mak.in
blob: 5d94a6eb99285c837dcff6e7298f7922c3d76803 (plain) (tree)
























                                                                                                                                     
                                                                                                                              

                

                             
         



                                                                                               
                                                                              




                                                                      















                                                        
# 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) $<
<<