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.

294 lines
6.5 KiB

  1. !ifndef ROOT
  2. !error ROOT must be defined in makefile
  3. !endif
  4. # -------------------------------------------------------------
  5. # MISC DEFAULTS
  6. # -------------------------------------------------------------
  7. #this enables build.exe to default BUILD_ALT_DIR
  8. CHECKED_ALT_DIR=1
  9. #TODO: examine define of USE_PRINT
  10. C_DEFINES=$(C_DEFINES) /DNT_BUILD
  11. # If we're building retail for NT, use MSVCRT runtime. Else, use LIBCMT. Also, turn on
  12. # incremental linking if we're not building for NT and in debug more, specify the
  13. # debug CRT's.
  14. !if ("$(BUILD_PRODUCT)" == "NT") && $(FREEBUILD)
  15. USE_MSVCRT=1
  16. !else
  17. NO_NTDLL=1
  18. USE_LIBCMT=1
  19. !endif
  20. !if !$(FREEBUILD)
  21. DEBUG_CRTS=1
  22. !if ("$(BUILD_PRODUCT)" != "NT")
  23. USE_INCREMENTAL_LINKING=1
  24. !endif
  25. !endif
  26. # this dissables optimization on Alpha
  27. ALPHA_OPTIMIZATION=-Od
  28. # due to dsound bug, only define on non NT5 (BUILD_PRODUCT==NT only set on nt5!)
  29. !if "$(BUILD_PRODUCT)" == "NT"
  30. DIRECTSOUND_VERSION=0x0700
  31. !else
  32. DIRECTSOUND_VERSION=0x0300
  33. !endif
  34. WIN32_WINNT_VERSION=0x0400
  35. WIN32_WIN95_VERSION=0x0400
  36. WIN32_IE_VERSION=0x0400
  37. UMTYPE=windows
  38. NOT_LEAN_AND_MEAN=1
  39. SUBSYSTEM_VERSION=4.00
  40. MSC_WARNING_LEVEL=/W3 /WX
  41. # this will set up /Gr /Gx flag unless we've explicitly disabled it.
  42. !if "$(DO_NOT_USE_EH)" != "1"
  43. USE_NATIVE_EH=1
  44. !endif
  45. # MACHINE SPECIFIC MACROS
  46. !if $(386)
  47. _MACHINE=x86
  48. EAT_ERRORS=2>nul:
  49. EAT_OUTPUT=1>nul:
  50. !elseif $(ALPHA)
  51. _MACHINE=alpha
  52. EAT_ERRORS=
  53. EAT_OUTPUT=
  54. !elseif $(AXP64)
  55. _MACHINE=axp64
  56. EAT_ERRORS=
  57. EAT_OUTPUT=
  58. !elseif $(IA64)
  59. _MACHINE=ia64
  60. EAT_ERRORS=
  61. EAT_OUTPUT=
  62. !endif
  63. MKDIR = MKDIR $(EAT_ERRORS)
  64. # -------------------------------------------------------------
  65. # DIRECTORIES
  66. # -------------------------------------------------------------
  67. !if $(FREEBUILD)
  68. _BLDROOT=$(ROOT)\build\ship
  69. !else
  70. _BLDROOT=$(ROOT)\build\debug
  71. !endif
  72. BLDROOT=$(_BLDROOT)
  73. TOOLSROOT=$(ROOT)\tools
  74. ELEVATEDIR=$(ROOT)\build\elevated
  75. SRCROOT=$(ROOT)\src
  76. TOOLSDIR=$(TOOLSROOT)\$(_MACHINE)
  77. VCDIR=$(TOOLSDIR)\msvc50\vc
  78. ATLDIR=$(SDK_INC_PATH)\atl21
  79. AMOVIEDIR=$(SDK_PATH)\amovie\inc
  80. ATLINCLUDE=$(ATLDIR)
  81. SDKDIR=$(ROOT)\lib\$(O)
  82. SDKDIR_DEST=$(ROOT)\lib\$(_OBJ_DIR)
  83. #QUARTZDIR=$(TOOLSDIR)\quartz
  84. SWEEPERDIR=$(VCDIR)
  85. TOOLSLIBMSVC=$(VCDIR)\lib
  86. TOOLSLIBWIN32=$(TOOLSLIBMSVC)
  87. #TOOLSLIBQUARTZ=$(QUARTZDIR)\lib
  88. TOOLSLIBSWEEPER=$(SWEEPERDIR)\lib
  89. !if $(FREEBUILD)
  90. TOOLSLIBQV=$(TOOLSDIR)\QVLib\lib\WinRel
  91. !else
  92. TOOLSLIBQV=$(TOOLSDIR)\QVLib\lib\WinDebug
  93. !endif
  94. TOOLSLIBMISC=$(TOOLSDIR)\misc\lib
  95. TOOLSLIBTRIDENT=$(TOOLSDIR)\trident\lib
  96. PARSER=$(ROOT)\src\prims\parse.pl
  97. CPRIMS=$(SDKDIR)\cprims.h
  98. # -------------------------------------------------------------
  99. # INCLUDE PATH
  100. # -------------------------------------------------------------
  101. TOOLSUTILS=$(TOOLSDIR)\utils
  102. TOOLSINCLUDE=
  103. # $(TOOLSDIR)\directx\inc;\
  104. # $(VCDIR)\include;\
  105. # $(TOOLSDIR)\aactive\inc;\
  106. # $(TOOLSDIR)\masm\include;\
  107. # $(TOOLSDIR)\qvlib\include;\
  108. # $(TOOLSDIR)\RL\inc;\
  109. # $(TOOLSDIR)\misc\include;\
  110. # $(TOOLSDIR)\quartz\include;\
  111. # $(TOOLSDIR)\trident\include
  112. # -------------------------------------------------------------
  113. # TOOL
  114. # -------------------------------------------------------------
  115. SED = sed
  116. PERL= perl
  117. # -------------------------------------------------------------
  118. # GLOBAL INCLUDES
  119. # -------------------------------------------------------------
  120. APPEL_INC_DIRS= \
  121. $(ROOT)\extinc; \
  122. $(SRCROOT)\appel\include; \
  123. $(ATLINCLUDE); \
  124. $(SRCROOT)\appel; \
  125. $(SRCROOT)\include; \
  126. $(SDKDIR); \
  127. $(SRCROOT)\apeldbg; \
  128. $(AMOVIEDIR)
  129. LM_INC_DIRS= \
  130. $(SRCROOT)\lm\include; \
  131. $(ATLINCLUDE); \
  132. $(SRCROOT)\lm; \
  133. $(SRCROOT)\include; \
  134. $(SRCROOT)\filters\lmrtrend; \
  135. $(SDKDIR); \
  136. $(AMOVIEDIR)
  137. FILTER_INC_DIRS= \
  138. $(ATLINCLUDE); \
  139. $(SRCROOT)\include; \
  140. $(SRCROOT)\apeldbg; \
  141. $(SDKDIR); \
  142. DALITE_INC_DIRS= \
  143. $(SRCROOT); \
  144. $(SRCROOT)\dalite\include; \
  145. $(ATLINCLUDE); \
  146. $(SRCROOT)\dalite; \
  147. $(SRCROOT)\include; \
  148. $(SDKDIR); \
  149. DATIME_INC_DIRS= \
  150. $(SRCROOT); \
  151. $(SRCROOT)\time\include; \
  152. $(ATLINCLUDE); \
  153. $(SRCROOT)\time; \
  154. $(SRCROOT)\include; \
  155. $(SRCROOT)\time\idl\obj$(BUILD_ALT_DIR)\$(TARGET_DIRECTORY); \
  156. $(SDKDIR); \
  157. !ifdef PROJNAME
  158. PROJROOT=$(SRCROOT)\$(PROJNAME)
  159. INCLUDES= \
  160. $(SRCROOT); \
  161. $(PROJROOT)\include; \
  162. $(ATLINCLUDE); \
  163. $(PROJROOT); \
  164. $(SRCROOT)\include; \
  165. $(SDKDIR); \
  166. !endif
  167. # -------------------------------------------------------------
  168. # MACHINE SPECIFIC
  169. # -------------------------------------------------------------
  170. 386_STDCALL=0 #default to cdecl calling convention
  171. # -------------------------------------------------------------
  172. # COMPILER FLAGS
  173. # -------------------------------------------------------------
  174. # This turns on ieee compatible floating point for Alpha only
  175. !if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
  176. USER_C_FLAGS=$(USER_C_FLAGS) /QAieee1
  177. !endif
  178. # for cod files....
  179. !if "$(COD)" == "1"
  180. USER_C_FLAGS=$(USER_C_FLAGS) /FAcs /Fa$(O)\$(@B).cod
  181. !endif
  182. # -------------------------------------------------------------
  183. # DEFINES
  184. # -------------------------------------------------------------
  185. C_DEFINES = $(C_DEFINES) /DDA_MAJOR_VERSION=1 /DDA_MINOR_VERSION=0
  186. C_DEFINES = $(C_DEFINES) /DDIRECTSOUND_VERSION=$(DIRECTSOUND_VERSION)
  187. !if !$(FREEBUILD)
  188. C_DEFINES= /D_DEBUG /DDEBUG /D_DEBUGMEM=1 /D_USE_PRINT=1 $(C_DEFINES)
  189. DEVELOPER_BUILD=1
  190. !else
  191. C_DEFINES = $(C_DEFINES) /D_NO_CRT=1
  192. !endif
  193. !if "$(DEVELOPER_BUILD)" == "1"
  194. C_DEFINES = $(C_DEFINES) /D_MEMORY_TRACKING=1 /DDEVELOPER_DEBUG=1
  195. PERF_BUILD=1
  196. # Turn on RTTI (/GR) for everything but retail builds
  197. USE_RTTI=1
  198. !endif
  199. !if "$(PERF_BUILD)" == "1"
  200. C_DEFINES = $(C_DEFINES) /DPERFORMANCE_REPORTING
  201. !endif
  202. C_DEFINES=$(C_DEFINES) /DNOMINMAX /DSTRICT /DDIRECTDRAW_VERSION=0x0300
  203. !if "$(_PROFILE)" == "1"
  204. C_DEFINES=$(C_DEFINES) /DPRODUCT_PROF
  205. ICECAPLIB=$(TOOLSLIBICAP)\icap.lib
  206. !endif
  207. !if "$(_TIMING)" == "1"
  208. C_DEFINES =$(C_DEFINES) /DTIMING
  209. !endif
  210. C_DEFINES =$(C_DEFINES) /D_ATL_STATIC_REGISTRY
  211. # -------------------------------------------------------------
  212. # OTHER
  213. # -------------------------------------------------------------
  214. CONDITIONAL_INCLUDES= \
  215. algorithm \
  216. deque \
  217. functional \
  218. iterator \
  219. list \
  220. map \
  221. numeric \
  222. queue \
  223. set \
  224. stack \
  225. utility \
  226. vector \
  227. winwlm.h \
  228. macwin32.h \
  229. macocidl.h \
  230. subwtype.h \
  231. d3dvec.inl \
  232. d3dcom.h \
  233. strings.h \
  234. iostream \
  235. libc.h \
  236. rpcerr.h \
  237. rpcmac.h \
  238. macname1.h \
  239. macpube.h \
  240. macapi.h \
  241. macname2.h \
  242. streams.h \
  243. xstddef \
  244. string \
  245. stdafx.h \
  246. stdole32.tlb