summaryrefslogtreecommitdiff
path: root/src/openvpn/makefile.w32
diff options
context:
space:
mode:
Diffstat (limited to 'src/openvpn/makefile.w32')
-rwxr-xr-xsrc/openvpn/makefile.w32199
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 $@