-- 
Samuli Seppänen
Community Manager
OpenVPN Technologies, Inc

irc freenode net: mattock

From c5d50576b9be6175132da67a57306bf41611f791 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Samuli=20Sepp=C3=A4nen?= <sam...@openvpn.net>
Date: Mon, 3 Jan 2011 16:07:28 +0200
Subject: [PATCH 2/6] Added openvpnserv.exe building to win/msvc.mak.in

---
 win/msvc.mak.in |   46 ++++++++++++++++++++++++++++++----------------
 1 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/win/msvc.mak.in b/win/msvc.mak.in
index 5d94a6e..66e546c 100644
--- a/win/msvc.mak.in
+++ b/win/msvc.mak.in
@@ -1,12 +1,15 @@
-# 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.
+# This makefile builds the user-mode component of OpenVPN for Windows in the 
+# Visual Studio 2008 environment. Note that this file is basis for the real 
+# makefile (..\msvc.mak) but unusable as is. The real makefile is automatically 
+# generated during the build process by the Python build scripts.
+#
+# A few details are in order:
+#
+# - Everything between @<< and << is inserted into a s.c. "in-line file". This 
+#   file drives the linker (link.exe).
+# - HEADERS_OBJS is expanded to all all header and source files listed in 
+#  ..\Makefile.am
+# - OPENSSL_DIR and LZO_DIR are dynamically created from settings.in
 
 OPENSSL = @OPENSSL_DIR@
 OPENSSL_DYNAMIC = libeay32.lib ssleay32.lib
@@ -18,9 +21,13 @@ 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
 
+# Some of these libs may not be needed
+SERVLIBS = 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
+SERVEXE = openvpnserv.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
@@ -30,24 +37,31 @@ 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)"
+LINK32_FLAGS=/nologo /subsystem:console /incremental:no /opt:ref /opt:icf /debug
 !else
 # release:
 CPP_PROJ=$(CPP_ARG_COMMON) /O2 /MD -DNDEBUG
-LINK32_FLAGS=/nologo /subsystem:console /incremental:no /out:"$(EXE)"
+LINK32_FLAGS=/nologo /subsystem:console /incremental:no
 !endif
 
-# HEADERS and OBJS definitions, automatically generated
+# HEADERS and OBJS definitions, automatically generated from ../Makefile.am
 @HEADERS_OBJS@
 
+SERVOBJS = \
+	openvpnserv.obj \
+	service.obj
+
 openvpn : $(OBJS)
 	$(LINK32) @<<
-	$(LINK32_FLAGS) $(LIB_DIRS) $(LIBS) $(OBJS)
+	$(LINK32_FLAGS) "/out:$(EXE)" $(LIB_DIRS) $(LIBS) $(OBJS)
 <<
 
+openvpnserv : openvpn $(SERVOBJS)
+	$(LINK32) @<<
+	$(LINK32_FLAGS) "/out:$(SERVEXE)" $(SERVLIBS) $(SERVOBJS)
+<<
+
+
 clean :
 	del /Q $(OBJS) $(EXE) *.idb *.pdb
 
-- 
1.6.3.3

Reply via email to