Source code of Windows XP (NT5)
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.

356 lines
9.2 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. $(SDK_INC_PATH);\
  115. $(BASEDIR)\published\sdk\inc;\
  116. $(PROJECT_ROOT)\publish\inc;\
  117. $(PROJECT_ROOT)\inc;\
  118. $(WIA_DIR)\inc;\
  119. $(UI_DIR)\inc;\
  120. $(BASEDIR)\public\internal\shell\inc;\
  121. $(UI_DIR)\uicommon;\
  122. $(SDK_INC_PATH)\gdiplus;\
  123. $(PROJECT_ROOT)\inc\psutil; \
  124. $(WINDOWS_INC_PATH)\DUser;\
  125. $(INCLUDES)
  126. #
  127. # Set platform dependent settings
  128. #
  129. # PLATFORM_SUFFIX is used for generating platform specific static libs path , a la public\sdk\lib\win98
  130. #
  131. !if !defined(CHICAGO_PRODUCT)
  132. #
  133. # Require v500 to use NT5 specific APIs
  134. #
  135. WIN32_WINNT_VERSION=$(LATEST_WIN32_WINNT_VERSION)
  136. LIBRARY_PLATFORM_PATH = $(BASEDIR)\public\sdk\lib
  137. PLATFORM_SUFFIX=.
  138. USE_MSVCRT=1
  139. !else
  140. NOT_UNICODE =1
  141. # (use 'chicago' since that is already used in the NT tree)
  142. LIBRARY_PLATFORM_PATH = $(BASEDIR)\published\sdk\lib\chicago
  143. ALT_PROJECT_TARGET = chicago
  144. USE_MAPSYM = 1
  145. # Where to put static libraries
  146. PLATFORM_SUFFIX=chicago
  147. #
  148. # Cheat on version for Millenium
  149. #
  150. WIN32_WIN95_VERSION=0x500
  151. #
  152. # VC5 libs not shipped yet
  153. #
  154. USE_MSVCRT=1
  155. #USE_MSVCRT40=1
  156. #USE_LIBCMT=1
  157. #
  158. # Indicate target is not supporting robust RPC validation
  159. #
  160. MIDL_NO_ROBUST=1
  161. #
  162. # Indicate we fully support DCOM
  163. #
  164. C_DEFINES = $(C_DEFINES) -D_WIN32_DCOM
  165. ##-D_WIN32_WINDOWS
  166. #
  167. !endif
  168. #
  169. # Include and lib directories private to the PrintScan project
  170. #
  171. PRV_INC_PATH=$(PROJECT_ROOT)\inc
  172. !if $(386)
  173. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\i386
  174. !elseif $(IA64)
  175. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\ia64
  176. !elseif $(AXP64)
  177. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\axp64
  178. !elseif $(ALPHA)
  179. PRV_LIB_PATH=$(PROJECT_ROOT)\lib\alpha
  180. !endif
  181. #
  182. # Set common options
  183. #
  184. # Defining this allows windows.h to include other headers
  185. NOT_LEAN_AND_MEAN=1
  186. # user mode executable type
  187. UMTYPE = windows
  188. # Don't link to NTDLL if this runs on both platforms
  189. !ifdef TARGET_BOTH
  190. NO_NTDLL=1
  191. !endif
  192. #
  193. # Additional compiler flags
  194. #
  195. C_DEFINES = $(C_DEFINES) -DWIN32 -D_WIN32 -D_NTSDK
  196. !ifdef USE_ICECAP
  197. C_DEFINES = $(C_DEFINES) -DPRODUCT_PROF
  198. !endif
  199. !if !defined(CHICAGO_PRODUCT )
  200. C_DEFINES = $(C_DEFINES) -DNT -DWINNT
  201. ! if !defined(NOT_UNICODE)
  202. UNICODE=1
  203. C_DEFINES = $(C_DEFINES) -DUNICODE -D_UNICODE
  204. ! endif
  205. !else
  206. UNICODE=0
  207. C_DEFINES = $(C_DEFINES) -DWIN9X
  208. !endif
  209. # ------ Debug Only Defines --------
  210. #
  211. # make us completely self contained
  212. #
  213. COFFBASE_TXT_FILE=$(UI_DIR)\coffbase.txt
  214. BINPLACE_PLACEFILE=$(UI_DIR)\placefil.txt
  215. #
  216. # Commonly used libraries
  217. #
  218. !if !defined(DONT_DO_COMMON_LIBS)
  219. !if !defined(CHICAGO_PRODUCT)
  220. TARGETLIBS=$(TARGETLIBS)\
  221. $(LIBRARY_PATH)\advapi32.lib \
  222. $(LIBRARY_PATH)\cfgmgr32.lib \
  223. $(LIBRARY_PATH)\gdi32.lib \
  224. $(LIBRARY_PATH)\gdiplus.lib \
  225. $(LIBRARY_PATH)\kernel32.lib \
  226. $(LIBRARY_PATH)\msimg32.lib \
  227. $(LIBRARY_PATH)\msvcrt.lib \
  228. $(LIBRARY_PATH)\ole32.lib \
  229. $(LIBRARY_PATH)\oleaut32.lib \
  230. $(LIBRARY_PATH)\rpcndr.lib \
  231. $(LIBRARY_PATH)\rpcns4.lib \
  232. $(LIBRARY_PATH)\rpcrt4.lib \
  233. $(LIBRARY_PATH)\setupapi.lib \
  234. $(LIBRARY_PATH)\shell32.lib \
  235. $(LIBRARY_PATH)\shlwapi.lib \
  236. $(LIBRARY_PATH)\sti.lib \
  237. $(LIBRARY_PATH)\user32.lib \
  238. $(LIBRARY_PATH)\uuid.lib \
  239. $(LIBRARY_PATH)\winmm.lib \
  240. $(SHELL_LIB_PATH)\shell32p.lib \
  241. $(SHELL_LIB_PATH)\shlwapip.lib \
  242. $(BASEDIR)\public\sdk\lib\$(PLATFORM_SUFFIX)\*\wiaguid.lib \
  243. $(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\*\psutil.lib \
  244. $(PROJECT_ROOT)\ui\lib\$(PLATFORM_SUFFIX)\*\uicommon.lib
  245. # people who use shfusion cannot link to comdlg32
  246. !if !defined(USE_SHFUSION)
  247. TARGETLIBS=$(TARGETLIBS)\
  248. $(LIBRARY_PATH)\comdlg32.lib
  249. !endif
  250. !else
  251. TARGETLIBS=$(TARGETLIBS)\
  252. $(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\*\cfgmgr32.lib \
  253. $(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\*\setupapi.lib \
  254. $(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\*\iprop.lib \
  255. $(PROJECT_ROOT)\lib\$(PLATFORM_SUFFIX)\*\psutil.lib \
  256. $(LIBRARY_PLATFORM_PATH)\*\ADVAPI32.lib \
  257. $(LIBRARY_PLATFORM_PATH)\*\KERNEL32.lib \
  258. $(LIBRARY_PLATFORM_PATH)\*\user32.lib \
  259. $(LIBRARY_PATH)\GDI32.lib \
  260. $(LIBRARY_PATH)\oleaut32.lib \
  261. $(LIBRARY_PATH)\shlwapi.lib \
  262. $(LIBRARY_PATH)\ole32.lib \
  263. $(LIBRARY_PATH)\rpcndr.lib \
  264. $(LIBRARY_PATH)\rpcns4.lib \
  265. $(LIBRARY_PATH)\rpcrt4.lib \
  266. $(LIBRARY_PATH)\uuid.lib
  267. !endif
  268. !endif
  269. #
  270. # Skip these files when determining dependencies
  271. #
  272. CONDITIONAL_INCLUDES = $(CONDITIONAL_INCLUDES) \
  273. atlbase.h \
  274. atlcom.h \
  275. atlconv.h \
  276. atlctl.h \
  277. atlctl.cpp \
  278. atliface.h \
  279. atlimpl.cpp \
  280. atlwin.h \
  281. atlwin.cpp \
  282. ia64inst.h \
  283. macapi.h \
  284. macname1.h \
  285. macname2.h \
  286. macocidl.h \
  287. macpub.h \
  288. macwin32.h \
  289. mainwin.h \
  290. mwversion.h \
  291. penwin.h \
  292. pshpck16.h \
  293. rpcerr.h \
  294. rpcmac.h \
  295. setupx.h \
  296. skbapi.h \
  297. statreg.h \
  298. statreg.cpp \
  299. unixstuff.h \
  300. version.h \
  301. winwlm.h \