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.

351 lines
9.4 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=printscan
  59. MINORCOMP=ui
  60. #
  61. # Set imagedir placement correctly
  62. #
  63. WIA_DIR = $(PROJECT_ROOT)\wia
  64. UI_DIR = $(PROJECT_ROOT)\ui
  65. !IF "$(BUILD_PRODUCT)"=="millen"
  66. CHICAGO_PRODUCT=1
  67. !ENDIF
  68. #
  69. # Dynamically loading comctl32 through shfusion. Need to ignore "locally defined symbol imported" error
  70. #
  71. LINKER_FLAGS = $(LINKER_FLAGS) -ignore:4049,4217
  72. #
  73. # Necessary for gdiplus
  74. #
  75. C_DEFINES=$(C_DEFINES) \
  76. -DDCR_USE_NEW_105760 \
  77. -DDCR_USE_NEW_125467 \
  78. -DDCR_USE_NEW_127084 \
  79. -DDCR_USE_NEW_135429 \
  80. -DDCR_USE_NEW_137252 \
  81. -DDCR_USE_NEW_140782 \
  82. -DDCR_USE_NEW_140855 \
  83. -DDCR_USE_NEW_140857 \
  84. -DDCR_USE_NEW_140861 \
  85. -DDCR_USE_NEW_145135 \
  86. -DDCR_USE_NEW_145138 \
  87. -DDCR_USE_NEW_145139 \
  88. -DDCR_USE_NEW_145804 \
  89. -DDCR_USE_NEW_146933 \
  90. -DDCR_USE_NEW_152154 \
  91. -DDCR_USE_NEW_168772 \
  92. -DDCR_USE_NEW_174340 \
  93. -DDCR_USE_NEW_175866 \
  94. -DDCR_USE_NEW_186091 \
  95. -DDCR_USE_NEW_186151 \
  96. -DDCR_USE_NEW_186764 \
  97. -DDCR_USE_NEW_188922 \
  98. -DDCR_USE_NEW_197819 \
  99. -DDCR_USE_NEW_202903 \
  100. -DDCR_USE_NEW_235072 \
  101. -DDCR_USE_NEW_250932 \
  102. -DDCR_USE_NEW_284635 \
  103. -DDCR_USE_NEW_284841 \
  104. -DDCR_USE_NEW_293849 \
  105. -DDCR_USE_NEW_299162
  106. #
  107. # Pick up the latest common controls
  108. #
  109. C_DEFINES=$(C_DEFINES) -DUXCTRL_VERSION=0x0100
  110. #
  111. # Set private paths
  112. #
  113. INCLUDES = .;..;\
  114. $(PROJECT_ROOT)\publish\inc;\
  115. $(PROJECT_ROOT)\inc;\
  116. $(WIA_DIR)\inc;\
  117. $(UI_DIR)\inc;\
  118. $(SHELL_INC_PATH);\
  119. $(UI_DIR)\uicommon;\
  120. $(SDK_INC_PATH)\gdiplus;\
  121. $(PROJECT_ROOT)\inc\psutil; \
  122. $(WINDOWS_INC_PATH)\DUser;\
  123. $(INCLUDES)
  124. #
  125. # Set platform dependent settings
  126. #
  127. # PLATFORM_SUFFIX is used for generating platform specific static libs path , a la public\sdk\lib\win98
  128. #
  129. !if defined(CHICAGO_PRODUCT)
  130. NOT_UNICODE =1
  131. # (use 'chicago' since that is already used in the NT tree)
  132. LIBRARY_PLATFORM_PATH = $(SDK_LIB_DEST)\chicago
  133. ALT_PROJECT_TARGET = chicago\$(_OBJ_DIR)
  134. USE_MAPSYM = 1
  135. # Where to put static libraries
  136. PLATFORM_SUFFIX=chicago
  137. #
  138. # Cheat on version for Millenium
  139. #
  140. WIN32_WIN95_VERSION=0x500
  141. #
  142. # VC5 libs not shipped yet
  143. #
  144. USE_MSVCRT=1
  145. #USE_MSVCRT40=1
  146. #USE_LIBCMT=1
  147. #
  148. # Indicate target is not supporting robust RPC validation
  149. #
  150. MIDL_NO_ROBUST=1
  151. #
  152. # Indicate we fully support DCOM
  153. #
  154. C_DEFINES = $(C_DEFINES) -D_WIN32_DCOM
  155. ##-D_WIN32_WINDOWS
  156. !else
  157. #
  158. # Require v500 to use NT5 specific APIs
  159. #
  160. WIN32_WINNT_VERSION=$(LATEST_WIN32_WINNT_VERSION)
  161. LIBRARY_PLATFORM_PATH = $(SDK_LIB_DEST)
  162. PLATFORM_SUFFIX=.
  163. USE_MSVCRT=1
  164. !endif
  165. #
  166. # Include and lib directories private to the PrintScan project
  167. #
  168. PRV_INC_PATH=$(PROJECT_ROOT)\inc
  169. !if $(386)
  170. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\i386
  171. !elseif $(IA64)
  172. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\ia64
  173. !elseif $(AXP64)
  174. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\axp64
  175. !elseif $(ALPHA)
  176. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\alpha
  177. !endif
  178. #
  179. # Set common options
  180. #
  181. # Defining this allows windows.h to include other headers
  182. NOT_LEAN_AND_MEAN=1
  183. # user mode executable type
  184. UMTYPE = windows
  185. # Don't link to NTDLL if this runs on both platforms
  186. !ifdef TARGET_BOTH
  187. NO_NTDLL=1
  188. !endif
  189. #
  190. # Additional compiler flags
  191. #
  192. C_DEFINES = $(C_DEFINES) -DWIN32 -D_WIN32 -D_NTSDK
  193. !ifdef USE_ICECAP
  194. C_DEFINES = $(C_DEFINES) -DPRODUCT_PROF
  195. !endif
  196. !if !defined(CHICAGO_PRODUCT )
  197. C_DEFINES = $(C_DEFINES) -DNT -DWINNT
  198. ! if !defined(NOT_UNICODE)
  199. UNICODE=1
  200. C_DEFINES = $(C_DEFINES) -DUNICODE -D_UNICODE
  201. ! endif
  202. !else
  203. UNICODE=0
  204. C_DEFINES = $(C_DEFINES) -DWIN9X
  205. !endif
  206. # ------ Debug Only Defines --------
  207. #
  208. # make us completely self contained
  209. #
  210. COFFBASE_TXT_FILE=$(UI_DIR)\coffbase.txt
  211. BINPLACE_PLACEFILE=$(UI_DIR)\placefil.txt
  212. #
  213. # Commonly used libraries
  214. #
  215. !if !defined(DONT_DO_COMMON_LIBS)
  216. !if !defined(CHICAGO_PRODUCT)
  217. TARGETLIBS=$(TARGETLIBS)\
  218. $(LIBRARY_PATH)\advapi32.lib \
  219. $(LIBRARY_PATH)\cfgmgr32.lib \
  220. $(LIBRARY_PATH)\gdi32.lib \
  221. $(LIBRARY_PATH)\gdiplus.lib \
  222. $(LIBRARY_PATH)\kernel32.lib \
  223. $(LIBRARY_PATH)\msimg32.lib \
  224. $(LIBRARY_PATH)\msvcrt.lib \
  225. $(LIBRARY_PATH)\ole32.lib \
  226. $(LIBRARY_PATH)\oleaut32.lib \
  227. $(LIBRARY_PATH)\rpcns4.lib \
  228. $(LIBRARY_PATH)\rpcrt4.lib \
  229. $(LIBRARY_PATH)\setupapi.lib \
  230. $(LIBRARY_PATH)\shell32.lib \
  231. $(LIBRARY_PATH)\shlwapi.lib \
  232. $(LIBRARY_PATH)\sti.lib \
  233. $(LIBRARY_PATH)\user32.lib \
  234. $(LIBRARY_PATH)\uuid.lib \
  235. $(LIBRARY_PATH)\winmm.lib \
  236. $(SHELL_LIB_PATH)\shell32p.lib \
  237. $(SHELL_LIB_PATH)\shlwapip.lib \
  238. $(SDK_LIB_DEST)\$(PLATFORM_SUFFIX)\*\wiaguid.lib \
  239. $(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\$(O)\psutil.lib \
  240. $(PROJECT_ROOT)\ui\lib\$(PLATFORM_SUFFIX)\$(O)\uicommon.lib
  241. # people who use shfusion cannot link to comdlg32
  242. !if !defined(USE_SHFUSION)
  243. TARGETLIBS=$(TARGETLIBS)\
  244. $(LIBRARY_PATH)\comdlg32.lib
  245. !endif
  246. !else
  247. TARGETLIBS=$(TARGETLIBS)\
  248. $(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\*\cfgmgr32.lib \
  249. $(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\*\setupapi.lib \
  250. $(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\*\iprop.lib \
  251. $(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\*\psutil.lib \
  252. $(LIBRARY_PLATFORM_PATH)\*\ADVAPI32.lib \
  253. $(LIBRARY_PLATFORM_PATH)\*\KERNEL32.lib \
  254. $(LIBRARY_PLATFORM_PATH)\*\user32.lib \
  255. $(LIBRARY_PATH)\GDI32.lib \
  256. $(LIBRARY_PATH)\oleaut32.lib \
  257. $(LIBRARY_PATH)\shlwapi.lib \
  258. $(LIBRARY_PATH)\ole32.lib \
  259. $(LIBRARY_PATH)\rpcns4.lib \
  260. $(LIBRARY_PATH)\rpcrt4.lib \
  261. $(LIBRARY_PATH)\uuid.lib
  262. !endif
  263. !endif
  264. #
  265. # Skip these files when determining dependencies
  266. #
  267. CONDITIONAL_INCLUDES = $(CONDITIONAL_INCLUDES) \
  268. atlbase.h \
  269. atlcom.h \
  270. atlconv.h \
  271. atlctl.h \
  272. atlctl.cpp \
  273. atliface.h \
  274. atlimpl.cpp \
  275. atlwin.h \
  276. atlwin.cpp \
  277. ia64inst.h \
  278. macapi.h \
  279. macname1.h \
  280. macname2.h \
  281. macocidl.h \
  282. macpub.h \
  283. macwin32.h \
  284. mainwin.h \
  285. mwversion.h \
  286. penwin.h \
  287. pshpck16.h \
  288. rpcerr.h \
  289. rpcmac.h \
  290. setupx.h \
  291. skbapi.h \
  292. statreg.h \
  293. statreg.cpp \
  294. unixstuff.h \
  295. version.h \
  296. winwlm.h \