diff options
Diffstat (limited to 'src/openvpn/makefile.w32')
-rwxr-xr-x | src/openvpn/makefile.w32 | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/src/openvpn/makefile.w32 b/src/openvpn/makefile.w32 new file mode 100755 index 0000000..c70d256 --- /dev/null +++ b/src/openvpn/makefile.w32 @@ -0,0 +1,199 @@ +# This Makefile builds the user-mode component +# of OpenVPN for WIN32 in the MinGW environment. +# +# Build Dependencies: +# mingw (GNU C compiler for windows) +# msys (GNU utilities and shell for windows) +# OpenSSL (SSL/TLS/crypto library) +# LZO (real-time compression library) +# Dmalloc (debugging only) +# +# Targets: +# static -- link statically with OpenSSL +# dynamic -- link dynamically with OpenSSL +# dmalloc -- enable memory debugging using the dmalloc library +# +# Note that LZO is always linked statically. +# +# To build openssl-0.9.7d, remember to edit ms\mw.bat +# adding '--win32' flag to make command: +# +# make --win32 -f ms/mingw32.mak +# +# Now cd to top level openssl directory in a Windows +# command-prompt window, and type: +# +# ms\mw +# +# See additional .bat scripts in install-win32 for OpenSSL +# build setup. +# +# If you are building with dmalloc debugging support +# see windbg.h for additional dmalloc notes. + +######################################################### +# Change these to point to your OpenSSL, LZO, and +# (optionally) dmalloc top-level directories. +# If you are using the prebuild script, set the OpenSSL +# lib path in the prebuild script, not here. + +OPENSSL = /c/src/openssl-0.9.7k +LZO = /c/src/lzo-1.08 +DMALLOC = /c/src/dmalloc-5.4.2 + +######################################################### + +CC = gcc -g -O2 -Wall -Wno-unused-function -Wno-unused-variable -mno-cygwin + +CC_DMALLOC = gcc -g -O2 -Wall -Wno-unused-function -Wno-unused-variable -mno-cygwin -fno-inline -DDMALLOC + +INCLUDE_DIRS = -I${OPENSSL}/include -I${LZO}/include + +INCLUDE_DIRS_DMALLOC = ${INCLUDE_DIRS} -I${DMALLOC} + +LIBS = -llzo -lcrypt32 -lws2_32 -lgdi32 -liphlpapi -lwinmm + +LIBS_DMALLOC = ${LIBS} -ldmalloc + +LIB_DIRS = -L${OPENSSL}/out -L${LZO} + +LIB_DIRS_DMALLOC = ${LIB_DIRS} -L${DMALLOC} + +EXE = openvpn.exe + +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.o \ + buffer.o \ + crypto.o \ + cryptoapi.o \ + error.o \ + event.o \ + fdmisc.o \ + forward.o \ + fragment.o \ + gremlin.o \ + helper.o \ + init.o \ + interval.o \ + list.o \ + lzo.o \ + manage.o \ + mbuf.o \ + misc.o \ + mroute.o \ + mss.o \ + mtcp.o \ + mtu.o \ + mudp.o \ + multi.o \ + ntlm.o \ + occ.o \ + openvpn.o \ + options.o \ + otime.o \ + packet_id.o \ + perf.o \ + ping.o \ + plugin.o \ + pool.o \ + proto.o \ + proxy.o \ + push.o \ + reliable.o \ + route.o \ + schedule.o \ + session_id.o \ + shaper.o \ + sig.o \ + socket.o \ + socks.o \ + ssl.o \ + status.o \ + thread.o \ + tun.o \ + win32.o + +dynamic : MY_CC = ${CC} +dynamic : MY_INCLUDE_DIRS = ${INCLUDE_DIRS} +dynamic : ${OBJS} + ${MY_CC} -o ${EXE} ${OBJS} ${LIB_DIRS} -lssl32 -leay32 ${LIBS} + +static : MY_CC = ${CC} +static : MY_INCLUDE_DIRS = ${INCLUDE_DIRS} +static : ${OBJS} + ${CC} -o ${EXE} ${OBJS} ${LIB_DIRS} -lssl -lcrypto ${LIBS} + +dmalloc : MY_CC = ${CC_DMALLOC} +dmalloc : MY_INCLUDE_DIRS = ${INCLUDE_DIRS_DMALLOC} +dmalloc : ${OBJS} + ${MY_CC} -o ${EXE} ${OBJS} ${LIB_DIRS_DMALLOC} -lssl32 -leay32 ${LIBS_DMALLOC} + +clean : + rm -f ${OBJS} ${EXE} + +%.o : %.c ${HEADERS} + ${MY_CC} ${MY_INCLUDE_DIRS} -c $< -o $@ |