1
# Build TAP-Win32 driver.
2
# Build Command: build -cef
7
TARGETNAME=@@PRODUCT_TAP_ID@@
10
TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib $(DDK_LIB_PATH)\ntstrsafe.lib
11
INCLUDES=$(DDK_INCLUDE_PATH) ..
13
# The TAP version numbers here must be >=
14
# PRODUCT_TAP_WIN32_MIN_x values defined in version.m4
16
C_DEFINES=$(C_DEFINES) -DTAP_DRIVER_MAJOR_VERSION=@@PRODUCT_TAP_MAJOR_VER@@
17
C_DEFINES=$(C_DEFINES) -DTAP_DRIVER_MINOR_VERSION=@@PRODUCT_TAP_MINOR_VER@@
19
# Produce the same symbolic information for both free & checked builds.
20
# This will allow us to perform full source-level debugging on both
21
# builds without affecting the free build's performance.
22
!IF "$(DDKBUILDENV)" != "chk"
30
# Set compiler optimizations:
31
# /Ox - Full optimization enabled
32
# /Os - favor speed over size when optimizing
33
# /Od - Disable all optimizations
34
# /Oi - Enable optimization for intrinsic functions
35
# /Fc - Generate mixed assembler/source code files
37
# For both checked and free builds, make sure that any intrinsic
38
# functions are compiled correctly. To do this, ensure that /Oi
39
# is selected for both free and checked builds. There is a bug in
40
# VC++ 6.0 (at least through SP4) where, if you specify any
41
# intrinsic functions in your code with "#pragma intrinsic" but
42
# you don't have the /Oi optimization enabled, neither a call
43
# to the function, nor the intrinsic inline version of the function
44
# will end up in your object code. This bug only applies to free
45
# builds, but just to be safe we'll make sure that the flag is
46
# enabled for all builds.
48
!IF "$(DDKBUILDENV)" != "chk"
49
MSC_OPTIMIZATION=/Ox /Oi /Fc
51
MSC_OPTIMIZATION=/Od /Oi /Fc
54
# Generate a linker map file just in case we need one for debugging
55
LINKER_FLAGS=$(LINKER_FLAGS) /INCREMENTAL:NO /MAP /MAPINFO:EXPORTS
57
# Generate a browser information file for use in IDE development
59
#BROWSERFILE=$(TARGETNAME).BSC -n
61
# Abort compilation on warnings by adding /WX
64
SOURCES=tapdrvr.c resource.rc