summaryrefslogtreecommitdiff
path: root/openvpn/makefile.w32-vc
diff options
context:
space:
mode:
Diffstat (limited to 'openvpn/makefile.w32-vc')
-rw-r--r--openvpn/makefile.w32-vc179
1 files changed, 179 insertions, 0 deletions
diff --git a/openvpn/makefile.w32-vc b/openvpn/makefile.w32-vc
new file mode 100644
index 0000000..e37c8c8
--- /dev/null
+++ b/openvpn/makefile.w32-vc
@@ -0,0 +1,179 @@
+# This makefile builds the user-mode component
+# of OpenVPN for WIN32 in the MSVC++ environment.
+#
+# Build Dependencies:
+# OpenSSL (SSL/TLS/crypto library)
+# LZO (real-time compression library)
+#
+# Targets:
+# static -- link statically with OpenSSL
+# dynamic -- link dynamically with OpenSSL
+#
+# Note that LZO is always linked statically.
+
+# Change these to point to your OpenSSL and LZO top-level
+# directories.
+
+OPENSSL = \src\openssl-0.9.7d
+OPENSSL_STATIC = libeay32s.lib ssleay32s.lib
+#OPENSSL_STATIC = libeay32sd.lib ssleay32sd.lib
+OPENSSL_DYNAMIC = libeay32.lib ssleay32.lib
+#OPENSSL_DYNAMIC = libeay32d.lib ssleay32d.lib
+
+LZO = \src\lzo-1.08.vc
+
+INCLUDE_DIRS = -I$(OPENSSL)/include -I$(LZO)/include
+
+LIBS = lzo.lib ws2_32.lib crypt32.lib iphlpapi.lib winmm.lib gdi32.lib advapi32.lib
+
+LIB_DIRS = -LIBPATH:$(OPENSSL)\out -LIBPATH:$(LZO)
+
+EXE = openvpn.exe
+
+CPP=cl.exe
+# release:
+CPP_PROJ=/nologo /MD /W3 /G5 /O2 -DNDEBUG -DWIN32 -DWIN32_LEAN_AND_MEAN -D_CONSOLE -D_MBCS $(INCLUDE_DIRS) /FD /c
+# debug:
+#CPP_PROJ=/nologo /MDd /W3 /G5 /Zi /Od -D_DEBUG -DWIN32 -DWIN32_LEAN_AND_MEAN -D_CONSOLE -D_MBCS $(INCLUDE_DIRS) /FD /c
+
+LINK32=link.exe
+# release:
+LINK32_FLAGS=/nologo /subsystem:console /incremental:no /out:"$(EXE)"
+# debug:
+#LINK32_FLAGS=/nologo /subsystem:console /incremental:no /debug /out:"$(EXE)"
+
+# Make sure the HEADERS and OBJS definitions below match the same
+# definitions in makefile.w32.
+
+HEADERS = \
+ base64.h \
+ basic.h \
+ buffer.h \
+ circ_list.h common.h \
+ tap-win32/common.h \
+ config-win32.h \
+ crypto.h \
+ cryptoapi.h \
+ errlevel.h \
+ error.h \
+ event.h \
+ fdmisc.h \
+ forward-inline.h \
+ forward.h \
+ fragment.h \
+ gremlin.h \
+ helper.h \
+ init.h \
+ integer.h \
+ interval.h \
+ list.h \
+ lzo.h \
+ manage.h \
+ mbuf.h \
+ memdbg.h \
+ misc.h \
+ mroute.h \
+ mss.h \
+ mtcp.h \
+ mtu.h \
+ mudp.h \
+ multi.h \
+ ntlm.h \
+ occ-inline.h \
+ occ.h \
+ openvpn.h \
+ openvpn-plugin.h \
+ options.h \
+ otime.h \
+ packet_id.h \
+ perf.h \
+ ping-inline.h \
+ ping.h \
+ plugin.h \
+ pool.h \
+ proto.h \
+ proxy.h \
+ push.h \
+ reliable.h \
+ route.h \
+ schedule.h \
+ session_id.h \
+ shaper.h \
+ sig.h \
+ socket.h \
+ socks.h \
+ ssl.h \
+ status.h \
+ syshead.h \
+ thread.h \
+ tun.h \
+ win32.h
+
+OBJS = base64.obj \
+ buffer.obj \
+ crypto.obj \
+ cryptoapi.obj \
+ error.obj \
+ event.obj \
+ fdmisc.obj \
+ forward.obj \
+ fragment.obj \
+ gremlin.obj \
+ helper.obj \
+ init.obj \
+ interval.obj \
+ list.obj \
+ lzo.obj \
+ manage.obj \
+ mbuf.obj \
+ misc.obj \
+ mroute.obj \
+ mss.obj \
+ mtcp.obj \
+ mtu.obj \
+ mudp.obj \
+ multi.obj \
+ ntlm.obj \
+ occ.obj \
+ openvpn.obj \
+ options.obj \
+ otime.obj \
+ packet_id.obj \
+ perf.obj \
+ ping.obj \
+ plugin.obj \
+ pool.obj \
+ proto.obj \
+ proxy.obj \
+ push.obj \
+ reliable.obj \
+ route.obj \
+ schedule.obj \
+ session_id.obj \
+ shaper.obj \
+ sig.obj \
+ socket.obj \
+ socks.obj \
+ ssl.obj \
+ status.obj \
+ thread.obj \
+ tun.obj \
+ win32.obj
+
+dynamic : $(OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LIB_DIRS) $(LIBS) $(OPENSSL_DYNAMIC) $(OBJS)
+<<
+
+static : $(OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LIB_DIRS) $(LIBS) $(OPENSSL_STATIC) $(OBJS)
+<<
+
+clean :
+ del /Q $(OBJS) $(EXE) *.idb *.pdb
+
+.c.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<