1*90c8c64dSAndroid Build Coastguard Worker# 2*90c8c64dSAndroid Build Coastguard Worker# Copyright (C) 2009 The Android Open Source Project 3*90c8c64dSAndroid Build Coastguard Worker# 4*90c8c64dSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 5*90c8c64dSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 6*90c8c64dSAndroid Build Coastguard Worker# You may obtain a copy of the License at 7*90c8c64dSAndroid Build Coastguard Worker# 8*90c8c64dSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 9*90c8c64dSAndroid Build Coastguard Worker# 10*90c8c64dSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 11*90c8c64dSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 12*90c8c64dSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*90c8c64dSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 14*90c8c64dSAndroid Build Coastguard Worker# limitations under the License. 15*90c8c64dSAndroid Build Coastguard Worker# 16*90c8c64dSAndroid Build Coastguard Worker 17*90c8c64dSAndroid Build Coastguard WorkerTARGETNAME = AdbWinUsbApi 18*90c8c64dSAndroid Build Coastguard WorkerTARGETPATH = obj 19*90c8c64dSAndroid Build Coastguard WorkerTARGETTYPE = DYNLINK 20*90c8c64dSAndroid Build Coastguard Worker 21*90c8c64dSAndroid Build Coastguard Worker_NT_TARGET_VERSION = $(_NT_TARGET_VERSION_VISTA) 22*90c8c64dSAndroid Build Coastguard Worker 23*90c8c64dSAndroid Build Coastguard WorkerUMTYPE = windows 24*90c8c64dSAndroid Build Coastguard WorkerDLLDEF = AdbWinUsbApi.def 25*90c8c64dSAndroid Build Coastguard Worker# Use the same load address as previous versions just to be conservative. This 26*90c8c64dSAndroid Build Coastguard Worker# really doesn't matter on newer OSes that use ASLR. 27*90c8c64dSAndroid Build Coastguard WorkerDLLBASE = 0x400000 28*90c8c64dSAndroid Build Coastguard Worker 29*90c8c64dSAndroid Build Coastguard Worker# Use statically linked atl libraries: 30*90c8c64dSAndroid Build Coastguard Worker# - atls.lib for free build 31*90c8c64dSAndroid Build Coastguard Worker# - atlsd.lib for checked build 32*90c8c64dSAndroid Build Coastguard WorkerUSE_STATIC_ATL = 1 33*90c8c64dSAndroid Build Coastguard Worker# Use ATL v. 7.1 34*90c8c64dSAndroid Build Coastguard WorkerATL_VER = 71 35*90c8c64dSAndroid Build Coastguard Worker# Use STL v. 6.0 36*90c8c64dSAndroid Build Coastguard WorkerUSE_STL = 1 37*90c8c64dSAndroid Build Coastguard WorkerSTL_VER = 60 38*90c8c64dSAndroid Build Coastguard Worker# Use multithreaded libraries 39*90c8c64dSAndroid Build Coastguard WorkerUSE_LIBCMT = 1 40*90c8c64dSAndroid Build Coastguard Worker 41*90c8c64dSAndroid Build Coastguard Worker!IF !$(FREEBUILD) 42*90c8c64dSAndroid Build Coastguard Worker# In checked build, ATL headers call APIs that are only in atlsd.lib. To use 43*90c8c64dSAndroid Build Coastguard Worker# atlsd.lib in checked build, set DEBUG_CRTS. 44*90c8c64dSAndroid Build Coastguard WorkerDEBUG_CRTS=1 45*90c8c64dSAndroid Build Coastguard Worker!ENDIF 46*90c8c64dSAndroid Build Coastguard Worker 47*90c8c64dSAndroid Build Coastguard Worker# Include directories 48*90c8c64dSAndroid Build Coastguard WorkerINCLUDES = $(DDK_INC_PATH); \ 49*90c8c64dSAndroid Build Coastguard Worker $(SDK_INC_PATH); \ 50*90c8c64dSAndroid Build Coastguard Worker $(CRT_INC_PATH); \ 51*90c8c64dSAndroid Build Coastguard Worker $(SDK_INC_PATH)\crt; \ 52*90c8c64dSAndroid Build Coastguard Worker $(CRT_INC_PATH)\atl71; \ 53*90c8c64dSAndroid Build Coastguard Worker $(SDK_INC_PATH)\crt\stl60 54*90c8c64dSAndroid Build Coastguard Worker 55*90c8c64dSAndroid Build Coastguard Worker# Common target libraries 56*90c8c64dSAndroid Build Coastguard WorkerTARGETLIBS = $(SDK_LIB_PATH)\ole32.lib \ 57*90c8c64dSAndroid Build Coastguard Worker $(SDK_LIB_PATH)\Advapi32.lib \ 58*90c8c64dSAndroid Build Coastguard Worker $(SDK_LIB_PATH)\Kernel32.lib \ 59*90c8c64dSAndroid Build Coastguard Worker $(SDK_LIB_PATH)\User32.lib \ 60*90c8c64dSAndroid Build Coastguard Worker $(SDK_LIB_PATH)\oleaut32.lib \ 61*90c8c64dSAndroid Build Coastguard Worker $(SDK_LIB_PATH)\wbemuuid.lib \ 62*90c8c64dSAndroid Build Coastguard Worker $(SDK_LIB_PATH)\uuid.lib \ 63*90c8c64dSAndroid Build Coastguard Worker $(SDK_LIB_PATH)\setupapi.lib \ 64*90c8c64dSAndroid Build Coastguard Worker $(SDK_LIB_PATH)\usbd.lib \ 65*90c8c64dSAndroid Build Coastguard Worker $(SDK_LIB_PATH)\winusb.lib \ 66*90c8c64dSAndroid Build Coastguard Worker ..\api\obj$(BUILD_ALT_DIR)\i386\AdbWinApi.lib 67*90c8c64dSAndroid Build Coastguard Worker 68*90c8c64dSAndroid Build Coastguard Worker# Common C defines 69*90c8c64dSAndroid Build Coastguard WorkerC_DEFINES= $(C_DEFINES) -DADBWINUSB_EXPORTS -D_UNICODE \ 70*90c8c64dSAndroid Build Coastguard Worker -DUNICODE -DWIN32 -D_WINDOWS -D_USRDLL -D_WINDLL 71*90c8c64dSAndroid Build Coastguard Worker 72*90c8c64dSAndroid Build Coastguard Worker!IF "$(DDKBUILDENV)" == "fre" 73*90c8c64dSAndroid Build Coastguard Worker# C defines for release (free) builds 74*90c8c64dSAndroid Build Coastguard WorkerC_DEFINES = $(C_DEFINES) -DNDEBUG 75*90c8c64dSAndroid Build Coastguard Worker!ELSE 76*90c8c64dSAndroid Build Coastguard Worker# C defines for debug (checked) builds 77*90c8c64dSAndroid Build Coastguard WorkerC_DEFINES = $(C_DEFINES) -D_DEBUG 78*90c8c64dSAndroid Build Coastguard Worker!ENDIF 79*90c8c64dSAndroid Build Coastguard Worker 80*90c8c64dSAndroid Build Coastguard Worker# Turn on all warnings, and treat warnings as errors 81*90c8c64dSAndroid Build Coastguard WorkerMSC_WARNING_LEVEL = /W4 /WX 82*90c8c64dSAndroid Build Coastguard Worker 83*90c8c64dSAndroid Build Coastguard Worker# operator new throws C++ exceptions 84*90c8c64dSAndroid Build Coastguard WorkerUSE_NATIVE_EH=1 85*90c8c64dSAndroid Build Coastguard Worker 86*90c8c64dSAndroid Build Coastguard Worker# Common C defines 87*90c8c64dSAndroid Build Coastguard WorkerUSER_C_FLAGS = $(USER_C_FLAGS) /FD /wd4100 /wd4200 /wd4702 /nologo 88*90c8c64dSAndroid Build Coastguard Worker 89*90c8c64dSAndroid Build Coastguard Worker# Set precompiled header information 90*90c8c64dSAndroid Build Coastguard WorkerPRECOMPILED_CXX = 1 91*90c8c64dSAndroid Build Coastguard WorkerPRECOMPILED_INCLUDE = stdafx.h 92*90c8c64dSAndroid Build Coastguard WorkerPRECOMPILED_SOURCEFILE = stdafx.cpp 93*90c8c64dSAndroid Build Coastguard Worker 94*90c8c64dSAndroid Build Coastguard Worker# Define source files for AdbWinUsbApi.dll 95*90c8c64dSAndroid Build Coastguard WorkerSOURCES = adb_winusb_endpoint_object.cpp \ 96*90c8c64dSAndroid Build Coastguard Worker adb_winusb_interface.cpp \ 97*90c8c64dSAndroid Build Coastguard Worker adb_winusb_io_completion.cpp \ 98*90c8c64dSAndroid Build Coastguard Worker AdbWinUsbApi.cpp \ 99*90c8c64dSAndroid Build Coastguard Worker AdbWinUsbApi.rc 100