summaryrefslogtreecommitdiff
path: root/openvpn/tap-win32/SOURCES
diff options
context:
space:
mode:
Diffstat (limited to 'openvpn/tap-win32/SOURCES')
-rwxr-xr-xopenvpn/tap-win32/SOURCES72
1 files changed, 72 insertions, 0 deletions
diff --git a/openvpn/tap-win32/SOURCES b/openvpn/tap-win32/SOURCES
new file mode 100755
index 0000000..4d6cdee
--- /dev/null
+++ b/openvpn/tap-win32/SOURCES
@@ -0,0 +1,72 @@
+# Build TAP-Win32 driver.
+# Build Command: build -cef
+
+MAJORCOMP=ntos
+MINORCOMP=ndis
+
+TARGETNAME=tap0801
+TARGETTYPE=DRIVER
+TARGETPATH=.
+TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib $(DDK_LIB_PATH)\ntstrsafe.lib
+INCLUDES=$(DDK_INCLUDE_PATH)
+
+# The TAP version numbers here must be >=
+# TAP_WIN32_MIN_x values defined in
+# config-win32.h
+C_DEFINES=
+C_DEFINES=$(C_DEFINES) -DTAP_DRIVER_MAJOR_VERSION=8
+C_DEFINES=$(C_DEFINES) -DTAP_DRIVER_MINOR_VERSION=4
+
+# Use 00:FF:XX:XX:XX:XX format MAC addresses where
+# the Xs are random (like Linux tap driver).
+#
+# Don't allow TAP device to be opened by more than one process
+# at a time.
+C_DEFINES=$(C_DEFINES)
+
+# Produce the same symbolic information for both free & checked builds.
+# This will allow us to perform full source-level debugging on both
+# builds without affecting the free build's performance.
+!IF "$(DDKBUILDENV)" != "chk"
+NTDEBUGTYPE=both
+USE_PDB=1
+!ELSE
+NTDEBUGTYPE=both
+USE_PDB=1
+!ENDIF
+
+# Set compiler optimizations:
+# /Ox - Full optimization enabled
+# /Os - favor speed over size when optimizing
+# /Od - Disable all optimizations
+# /Oi - Enable optimization for intrinsic functions
+# /Fc - Generate mixed assembler/source code files
+#
+# For both checked and free builds, make sure that any intrinsic
+# functions are compiled correctly. To do this, ensure that /Oi
+# is selected for both free and checked builds. There is a bug in
+# VC++ 6.0 (at least through SP4) where, if you specify any
+# intrinsic functions in your code with "#pragma intrinsic" but
+# you don't have the /Oi optimization enabled, neither a call
+# to the function, nor the intrinsic inline version of the function
+# will end up in your object code. This bug only applies to free
+# builds, but just to be safe we'll make sure that the flag is
+# enabled for all builds.
+
+!IF "$(DDKBUILDENV)" != "chk"
+MSC_OPTIMIZATION=/Ox /Oi /Fc
+!ELSE
+MSC_OPTIMIZATION=/Od /Oi /Fc
+!ENDIF
+
+# Generate a linker map file just in case we need one for debugging
+LINKER_FLAGS=$(LINKER_FLAGS) /MAP /MAPINFO:EXPORTS /MAPINFO:LINES
+
+# Generate a browser information file for use in IDE development
+BROWSER_INFO=1
+BROWSERFILE=$(TARGETNAME).BSC -n
+
+# Abort compilation on warnings.
+MSC_WARNING_LEVEL=/W3 /WX
+
+SOURCES=tapdrvr.c resource.rc