Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

435 lines
10 KiB

  1. ##########################################################################
  2. #
  3. # Microsoft Confidential
  4. # Copyright (C) Microsoft Corporation 1997-1999
  5. # All Rights Reserved.
  6. #
  7. ##########################################################################
  8. #
  9. # Common include file 'sources' files in the imagein project.
  10. #
  11. #
  12. # These definitions are required in your sources file:
  13. #
  14. # FREEBUILD
  15. # Set by makefile.def file for you. One of the following:
  16. # 0 - build debug
  17. # 1 - build retail
  18. #
  19. # Definitions used if defined:
  20. #
  21. # CHICAGO_PRODUCT
  22. # Build component explicitly for the Win95 platform. If this is
  23. # not defined, default is NT or both.
  24. #
  25. # TARGET_BOTH
  26. # Build component to run on both platforms.
  27. #
  28. # NO_PRIVATE_HEADERS
  29. # If set to 1, this is defined as a manifest constant, so the
  30. # stub headers in shell\inc\stubs do not include the private
  31. # companion headers.
  32. #
  33. # Environment Variables and their meanings
  34. #
  35. # ATL_DEBUG_QI
  36. # When set to 1, debug builds will also have _ATL_DEBUG_QI
  37. # defined. ATL code spews a bunch of debug stuff during QueryInterface.
  38. #
  39. # ATL_DEBUG_REFCOUNT
  40. # When set to 1, debug builds will also have _ATL_DEBUG_REFCOUNT
  41. # defined. ATL code spews a bunch of debug stuff during AddRef
  42. # and Release.
  43. #
  44. # MAXDEBUG
  45. # If set to 1, then debug builds will also have MAXDEBUG defined.
  46. # Retail builds unaffected. This is highly encouraged for regular
  47. # development purposes. Not to be set or used by the build labs.
  48. #
  49. # MEASURE_PERF
  50. # If set to 1, enables performance timing code for both debug and
  51. # retail builds. This code squirts the timings for interesting
  52. # events to the debug terminal.
  53. #
  54. #
  55. # As this include file is used only for user mode windows components - set
  56. # components IDs appropriately
  57. #
  58. MAJORCOMP=windows
  59. MINORCOMP=imagein
  60. WIN32_IE_VERSION=0x0500
  61. #
  62. # Set up related directories
  63. #
  64. !IFNDEF WDMROOT
  65. #remove WDMROOT=$(BASEDIR)\private\ntos\dd\wdm
  66. !ENDIF
  67. !IFNDEF SCANCAMDIR
  68. #remove SCANCAMDIR=$(WDMROOT)\scancam
  69. !ENDIF
  70. !IF "$(BUILD_PRODUCT)"=="millen"
  71. CHICAGO_PRODUCT=1
  72. !ENDIF
  73. #
  74. # Set private paths
  75. #
  76. WIA_INC_PATH=$(PROJECT_ROOT)\wia\inc
  77. WIA_LIB_DEST=$(PROJECT_ROOT)\wia\lib\$(PLATFORM_SUFFIX)\$(_OBJ_DIR)
  78. WIA_LIB_PATH=$(PROJECT_ROOT)\wia\lib\$(PLATFORM_SUFFIX)\$(_OBJ_DIR)\*
  79. INCLUDES = .;..;\
  80. $(WIA_INC_PATH);\
  81. $(WIA_INC_PATH)\$(O);\
  82. $(PRV_INC_PATH);\
  83. $(SDK_INC_PATH)\gdiplus;\
  84. $(PROJECT_ROOT)\inc\psutil;\
  85. $(INCLUDES)
  86. #
  87. # We always want to sign our binaries , but need to set in environment
  88. #
  89. #NT_SIGNCODE=1
  90. #
  91. # Necessary for gdiplus
  92. #
  93. C_DEFINES=$(C_DEFINES) \
  94. -DDCR_USE_NEW_105760 \
  95. -DDCR_USE_NEW_125467 \
  96. -DDCR_USE_NEW_127084 \
  97. -DDCR_USE_NEW_135429 \
  98. -DDCR_USE_NEW_137252 \
  99. -DDCR_USE_NEW_140782 \
  100. -DDCR_USE_NEW_140855 \
  101. -DDCR_USE_NEW_140857 \
  102. -DDCR_USE_NEW_140861 \
  103. -DDCR_USE_NEW_145135 \
  104. -DDCR_USE_NEW_145138 \
  105. -DDCR_USE_NEW_145139 \
  106. -DDCR_USE_NEW_145804 \
  107. -DDCR_USE_NEW_146933 \
  108. -DDCR_USE_NEW_152154 \
  109. -DDCR_USE_NEW_168772 \
  110. -DDCR_USE_NEW_174340 \
  111. -DDCR_USE_NEW_175866 \
  112. -DDCR_USE_NEW_186091 \
  113. -DDCR_USE_NEW_186151 \
  114. -DDCR_USE_NEW_186764 \
  115. -DDCR_USE_NEW_188922 \
  116. -DDCR_USE_NEW_197819 \
  117. -DDCR_USE_NEW_202903 \
  118. -DDCR_USE_NEW_235072 \
  119. -DDCR_USE_NEW_250932 \
  120. -DDCR_USE_NEW_284635 \
  121. -DDCR_USE_NEW_284841 \
  122. -DDCR_USE_NEW_293849 \
  123. -DDCR_USE_NEW_299162
  124. #
  125. # For Server SKUs we do not support WIA Video.
  126. #
  127. C_DEFINES=$(C_DEFINES) \
  128. -DWIA_DISABLE_VIDEO_SUPPORT
  129. #
  130. # Set platform dependent settings
  131. #
  132. # PLATFORM_SUFFIX is used for generating platform specific static libs path , a la public\sdk\lib\win98
  133. #
  134. !if !defined(CHICAGO_PRODUCT)
  135. #
  136. # Require v500 to use NT5 specific APIs
  137. #
  138. WIN32_WINNT_VERSION=0x0500
  139. LIBRARY_PLATFORM_PATH = $(SDK_LIB_PATH); $(DDK_LIB_PATH)
  140. PLATFORM_SUFFIX=.
  141. USE_MSVCRT=1
  142. !else
  143. NOT_UNICODE =1
  144. # (use 'chicago' since that is already used in the NT tree)
  145. LIBRARY_PLATFORM_PATH = $(SDK_LIB_PATH); $(DDK_LIB_PATH)
  146. ALT_PROJECT_TARGET = chicago
  147. USE_MAPSYM = 1
  148. # Where to put static libraries
  149. PLATFORM_SUFFIX=chicago
  150. #
  151. # Cheat on version for Millenium
  152. #
  153. WIN32_WIN95_VERSION=0x500
  154. #
  155. # VC5 libs not shipped yet
  156. #
  157. USE_MSVCRT=1
  158. #USE_MSVCRT40=1
  159. #USE_LIBCMT=1
  160. #
  161. # Indicate target is not supporting robust RPC validation.
  162. # Have to do if we run on Win9x or NT4
  163. #
  164. #MIDL_NO_ROBUST=1
  165. #
  166. # Indicate we fully support DCOM
  167. #
  168. C_DEFINES = $(C_DEFINES) -D_WIN32_DCOM
  169. ##-D_WIN32_WINDOWS
  170. #
  171. !endif
  172. #
  173. # Include and lib directories private to the PrintScan project
  174. #
  175. PRV_INC_PATH=$(PROJECT_ROOT)\inc
  176. !if $(386)
  177. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\i386
  178. !elseif $(IA64)
  179. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\ia64
  180. !elseif $(AXP64)
  181. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\axp64
  182. !elseif $(ALPHA)
  183. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\alpha
  184. !endif
  185. #
  186. # Set common options
  187. #
  188. # Defining this allows windows.h to include other headers
  189. NOT_LEAN_AND_MEAN=1
  190. # user mode executable type
  191. UMTYPE = windows
  192. # By default use CRT DLL, possibly we need to use IERT , it is smaller
  193. #USE_CRTDLL=1
  194. # Don't link to NTDLL if this runs on both platforms
  195. !ifdef TARGET_BOTH
  196. NO_NTDLL=1
  197. !endif
  198. #
  199. # Additional compiler flags
  200. #
  201. C_DEFINES = $(C_DEFINES) -DWIN32 -D_WIN32 -D_NTSDK
  202. !ifdef USE_ICECAP
  203. C_DEFINES = $(C_DEFINES) -DPRODUCT_PROF
  204. !endif
  205. !if !defined(CHICAGO_PRODUCT )
  206. C_DEFINES = $(C_DEFINES) -DNT -DWINNT
  207. ! if !defined(NOT_UNICODE)
  208. UNICODE=1
  209. C_DEFINES = $(C_DEFINES) -DUNICODE -D_UNICODE
  210. ! endif
  211. !else
  212. UNICODE=0
  213. C_DEFINES = $(C_DEFINES) -DWIN9X
  214. !endif
  215. !ifdef BROWSERDB
  216. #
  217. # Generating browser databases if needed
  218. #
  219. BROWSER_INFO=1
  220. BROWSERFILE=$(IMAGE_DIR)\imagein.bsc
  221. !endif
  222. # ------ Debug Only Defines --------
  223. #
  224. # For source level debugging
  225. #
  226. !ifndef NTBBT
  227. #NTDBGFILES=1
  228. !endif
  229. !IFDEF MAXDEBUG
  230. MAXDEBUG=1
  231. #DEBUG_CRTS=1
  232. NTDEBUG=ntsd
  233. NTDEBUGTYPE=windbg
  234. MSC_OPTIMIZATION=/Od
  235. C_DEFINES = $(C_DEFINES) /DMAXDEBUG /DDEBUG /DDBG=1
  236. !ENDIF
  237. #
  238. # Set obj directory correctly
  239. #
  240. OBJ_DIR=$(_OBJ_DIR)
  241. #!IF "$(FREEBUILD)" == "1"
  242. #BUILD_ALT_DIR=
  243. #OBJ_DIR=obj
  244. #!ELSE
  245. #BUILD_ALT_DIR=
  246. #OBJ_DIR=obj
  247. #!ENDIF
  248. !if "$(FREEBUILD)" == "0"
  249. C_DEFINES = $(C_DEFINES) -DDEBUG
  250. LINKER_NOICF = 1 # ICF is s-l-o-w
  251. # Check for missing PURE directives in interface decls (debug only)
  252. C_DEFINES = $(C_DEFINES) -DNO_NOVTABLE
  253. # Define MAXDEBUG for asserts to break by default
  254. ! if "$(MAXDEBUG)" == "1"
  255. C_DEFINES = $(C_DEFINES) -DMAXDEBUG
  256. ! endif
  257. # Allow someone to have ATL_DEBUG_REFCOUNT and ATL_DEBUG_QI set
  258. # in their environment to turn this on
  259. ! if "$(ATL_DEBUG_REFCOUNT)" == "1"
  260. C_DEFINES = $(C_DEFINES) -D_ATL_DEBUG_REFCOUNT
  261. ! endif
  262. ! if "$(ATL_DEBUG_QI)" == "1"
  263. C_DEFINES = $(C_DEFINES) -D_ATL_DEBUG_QI
  264. ! endif
  265. !endif
  266. # ------ End Debug Only Defines --------
  267. !if "$(MEASURE_PERF)" == "1"
  268. C_DEFINES = $(C_DEFINES) -DMEASURE_PERF
  269. !endif
  270. !if "$(NO_PRIVATE_HEADERS)" == "1"
  271. C_DEFINES = $(C_DEFINES) -DNO_PRIVATE_HEADERS
  272. !endif
  273. #
  274. # Make warnings equivalent to errors
  275. #
  276. !if !defined(MSC_WARNING_LEVEL)
  277. MSC_WARNING_LEVEL= /W3
  278. !endif
  279. MSC_WARNING_LEVEL= $(MSC_WARNING_LEVEL) /WX
  280. !if defined(CHICAGO_PRODUCT ) || defined(TARGET_BOTH)
  281. USE_MAPSYM = 1
  282. !endif
  283. #
  284. # make us completely self contained
  285. #
  286. COFFBASE_TXT_FILE=$(PROJECT_ROOT)\wia\coffbase.txt
  287. BINPLACE_PLACEFILE=$(PROJECT_ROOT)\wia\placefil.txt
  288. #
  289. # Commonly used libraries
  290. #
  291. !if !defined(DONT_DO_COMMON_LIBS)
  292. !if !defined(CHICAGO_PRODUCT)
  293. TARGETLIBS= \
  294. $(SDK_LIB_PATH)\ADVAPI32.lib \
  295. $(SDK_LIB_PATH)\GDI32.lib \
  296. $(SDK_LIB_PATH)\KERNEL32.lib \
  297. $(SDK_LIB_PATH)\user32.lib \
  298. $(SDK_LIB_PATH)\comdlg32.lib \
  299. $(SDK_LIB_PATH)\oleaut32.lib \
  300. $(SDK_LIB_PATH)\shlwapi.lib \
  301. $(SDK_LIB_PATH)\ole32.lib \
  302. $(SDK_LIB_PATH)\rpcns4.lib \
  303. $(SDK_LIB_PATH)\rpcrt4.lib \
  304. $(SDK_LIB_PATH)\uuid.lib \
  305. $(SDK_LIB_PATH)\cfgmgr32.lib \
  306. $(SDK_LIB_PATH)\setupapi.lib
  307. !else
  308. TARGETLIBS= \
  309. $(SDK_LIB_PATH)\cfgmgr32.lib \
  310. $(SDK_LIB_PATH)\setupapi.lib \
  311. $(SDK_LIB_PATH)\iprop.lib \
  312. $(SDK_LIB_PATH)\ADVAPI32.lib \
  313. $(SDK_LIB_PATH)\GDI32.lib \
  314. $(SDK_LIB_PATH)\KERNEL32.lib \
  315. $(SDK_LIB_PATH)\user32.lib \
  316. $(SDK_LIB_PATH)\comdlg32.lib \
  317. $(SDK_LIB_PATH)\oleaut32.lib \
  318. $(SDK_LIB_PATH)\shlwapi.lib \
  319. $(SDK_LIB_PATH)\ole32.lib \
  320. $(SDK_LIB_PATH)\rpcns4.lib \
  321. $(SDK_LIB_PATH)\rpcrt4.lib \
  322. $(SDK_LIB_PATH)\uuid.lib
  323. !endif
  324. !endif
  325. #
  326. # Skip these files when determining dependencies
  327. #
  328. CONDITIONAL_INCLUDES = $(CONDITIONAL_INCLUDES) \
  329. atlbase.h \
  330. atlcom.h \
  331. atlconv.h \
  332. atlctl.h \
  333. atlctl.cpp \
  334. atliface.h \
  335. atlimpl.cpp \
  336. atlwin.h \
  337. atlwin.cpp \
  338. ia64inst.h \
  339. macapi.h \
  340. macname1.h \
  341. macname2.h \
  342. macocidl.h \
  343. macpub.h \
  344. macwin32.h \
  345. mainwin.h \
  346. mwversion.h \
  347. penwin.h \
  348. pshpck16.h \
  349. rpcerr.h \
  350. rpcmac.h \
  351. setupx.h \
  352. skbapi.h \
  353. statreg.h \
  354. statreg.cpp \
  355. unixstuff.h \
  356. version.h \
  357. winwlm.h \