diff options
Diffstat (limited to 'openvpn/makefile.w32-vc')
-rw-r--r-- | openvpn/makefile.w32-vc | 179 |
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) $< +<< |