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.

391 lines
7.8 KiB

  1. PA = $(PROCESSOR_ARCHITECTURE) # Use a shorter name
  2. !if "$(LLP64)" == ""
  3. LLP64 = 0
  4. !endif
  5. !if "$(PA)"=="IA64" || ("$(PA)"=="x86" && "$(LLP64)"=="1")
  6. CPUDIR = ia64
  7. !elseif "$(PA)" == "x86" && "$(LLP64)"=="2"
  8. CPUDIR = amd64
  9. !elseif "$(PA)"=="x86"
  10. CPUDIR = intel
  11. !else
  12. !error objects.mkf: unknown host CPU
  13. !endif
  14. !if "$(LLP64)" == "0" && "$(BLD_SYSCRT)" != "1"
  15. RTC = YES
  16. !else
  17. RTC = NO
  18. !endif
  19. DEF_NAME=msvcrt
  20. DEFCPP_NAME=msvcprt
  21. DEFIOS_NAME=msvcirt
  22. D=$(CRT_BUILDDIR)\crt\src
  23. E=$D\$(CPUDIR)
  24. S=$(CRT_BUILDDIR)\crt\prebuild
  25. T=$S\build\$(CPUDIR)
  26. FILES_CPU_ALL = \
  27. $E\*\eh.lib \
  28. $E\*\conv.lib \
  29. $E\*\tran.lib
  30. !if "$(RTC)" == "YES"
  31. FILES_CPU_ALL = \
  32. $(FILES_CPU_ALL) \
  33. $E\*\rtc.lib
  34. !endif
  35. !if "$(PA)"=="IA64" || ("$(PA)"=="x86" && "$(LLP64)"=="1")
  36. FILES_CPU = \
  37. $(FILES_CPU_ALL) \
  38. $E\*\setjmp.obj \
  39. $E\*\chandler.obj \
  40. $E\*\cinitone.obj \
  41. $E\*\jmpuwind.obj \
  42. $E\*\longjmp.obj \
  43. $E\*\memcpy.obj \
  44. $E\*\memcpyi.obj \
  45. $E\*\memmove.obj \
  46. $E\*\memset.obj \
  47. $E\*\memseti.obj \
  48. $E\*\strcpy.obj \
  49. $E\*\strcat.obj \
  50. $E\*\strlen.obj \
  51. $E\*\strcmp.obj \
  52. $E\*\miscs.obj \
  53. $E\*\setjmp.obj \
  54. $E\*\setjmpex.obj \
  55. $E\*\chkstk.obj \
  56. $E\*\matherr.obj \
  57. $E\*\tlssup.obj
  58. !elseif "$(PA)" == "x86" && "$(LLP64)"=="2"
  59. FILES_CPU = \
  60. $(FILES_CPU_ALL) \
  61. $E\*\chandler.obj \
  62. $E\*\jmpuwind.obj \
  63. $E\*\longjmp.obj \
  64. $E\*\setjmp.obj \
  65. $E\*\setjmpex.obj \
  66. $E\*\chkstk.obj \
  67. $E\*\matherr.obj \
  68. $E\*\tlssup.obj
  69. !elseif "$(PA)"=="x86"
  70. FILES_CPU = \
  71. $(FILES_CPU_ALL) \
  72. $E\*\setjmp.obj \
  73. $E\*\eh3valid.obj \
  74. $E\*\exsup.obj \
  75. $E\*\exsup2.obj \
  76. $E\*\exsup3.obj \
  77. $E\*\atlssup.obj \
  78. $E\*\chkesp.obj \
  79. $E\*\longjmp.obj \
  80. $E\*\matherr.obj \
  81. $E\*\sehprolg.obj \
  82. $E\*\sehsupp.obj \
  83. $E\*\setjmp3.obj \
  84. $E\*\setjmpex.obj \
  85. $E\*\tlssup.obj
  86. !endif
  87. FILES_CPU_DLL = \
  88. $E\*\ehvccctr.obj \
  89. $E\*\ehvcccvb.obj \
  90. $E\*\ehvecctr.obj \
  91. $E\*\ehveccvb.obj \
  92. $E\*\ehvecdtr.obj \
  93. $E\*\oldexcpt.obj
  94. !if "$(PA)"=="x86" && "$(LLP64)"=="0"
  95. FILES_CPU_DLL = \
  96. $(FILES_CPU_DLL) \
  97. $E\*\ehprolg2.obj \
  98. $E\*\ehprolog.obj \
  99. $E\*\ftol2.obj
  100. !endif
  101. FILES_CPU_BSKU = \
  102. $E\*\bsku.obj
  103. FILES_LIBCST = $(FILES_CPU:*=*st_lib)
  104. FILES_LIBCMT = $(FILES_CPU:*=*mt_lib)
  105. FILES_DLL = $(FILES_CPU:*=*dll_lib) $(FILES_CPU_DLL:*=*dll_lib)
  106. FILES_LIBCST_BSKU = $(FILES_CPU_BSKU:*=*st_lib)
  107. FILES_LIBCMT_BSKU = $(FILES_CPU_BSKU:*=*mt_lib)
  108. FILES_ALL = \
  109. $E\almap.lib \
  110. $E\tcmap.lib
  111. FILES_DLL_ALL = \
  112. $E\sdknames.lib \
  113. $E\tcmapdll.lib
  114. FILES_DLL_RELEASE = \
  115. $(FILES_DLL_ALL) \
  116. $D\$(DEFIOS_NAME).def \
  117. $D\$(DEFCPP_NAME).def \
  118. !IF "$(BLD_FWDR)"=="1"
  119. $E\msvcrt40.def \
  120. !ENDIF
  121. $E\$(DEF_NAME).def
  122. FILES_DLL_DEBUG = \
  123. $(FILES_DLL_ALL) \
  124. $D\$(DEFIOS_NAME)d.def \
  125. $D\$(DEFCPP_NAME)d.def \
  126. !IF "$(BLD_FWDR)"=="1"
  127. $E\msvcr40d.def \
  128. !ENDIF
  129. $E\$(DEF_NAME)d.def
  130. DIRS_ALL = $E
  131. DIRS_LIBCST = $E\*st_lib
  132. DIRS_LIBCMT = $E\*mt_lib
  133. DIRS_DLL = $E\*dll_lib
  134. DIRS = $(DIRS_LIBCST) $(DIRS_LIBCMT) $(DIRS_DLL)
  135. .SUFFIXES:
  136. .SUFFIXES: .lib .obj
  137. {$T\st_obj}.obj{$E\st_lib}.obj:
  138. @echo Copying $< to $@
  139. @copy $< $@
  140. {$T\st_obj}.lib{$E\st_lib}.lib:
  141. @echo Copying $< to $@
  142. @copy $< $@
  143. {$T\st_obj}.lib{$E}.lib:
  144. @echo Copying $< to $@
  145. @copy $< $@
  146. {$T\xst_obj}.obj{$E\xst_lib}.obj:
  147. @echo Copying $< to $@
  148. @copy $< $@
  149. {$T\xst_obj}.lib{$E\xst_lib}.lib:
  150. @echo Copying $< to $@
  151. @copy $< $@
  152. {$T\bst_obj}.obj{$E\bst_lib}.obj:
  153. @echo Copying $< to $@
  154. @copy $< $@
  155. {$T\bst_obj}.lib{$E\bst_lib}.lib:
  156. @echo Copying $< to $@
  157. @copy $< $@
  158. {$T\xbst_obj}.obj{$E\xbst_lib}.obj:
  159. @echo Copying $< to $@
  160. @copy $< $@
  161. {$T\xbst_obj}.lib{$E\xbst_lib}.lib:
  162. @echo Copying $< to $@
  163. @copy $< $@
  164. {$T\mt_obj}.obj{$E\mt_lib}.obj:
  165. @echo Copying $< to $@
  166. @copy $< $@
  167. {$T\mt_obj}.lib{$E\mt_lib}.lib:
  168. @echo Copying $< to $@
  169. @copy $< $@
  170. {$T\xmt_obj}.obj{$E\xmt_lib}.obj:
  171. @echo Copying $< to $@
  172. @copy $< $@
  173. {$T\xmt_obj}.lib{$E\xmt_lib}.lib:
  174. @echo Copying $< to $@
  175. @copy $< $@
  176. {$T\bmt_obj}.obj{$E\bmt_lib}.obj:
  177. @echo Copying $< to $@
  178. @copy $< $@
  179. {$T\bmt_obj}.lib{$E\bmt_lib}.lib:
  180. @echo Copying $< to $@
  181. @copy $< $@
  182. {$T\xbmt_obj}.obj{$E\xbmt_lib}.obj:
  183. @echo Copying $< to $@
  184. @copy $< $@
  185. {$T\xbmt_obj}.lib{$E\xbmt_lib}.lib:
  186. @echo Copying $< to $@
  187. @copy $< $@
  188. {$T\dll_obj}.obj{$E\dll_lib}.obj:
  189. @echo Copying $< to $@
  190. @copy $< $@
  191. {$T\dll_obj}.lib{$E\dll_lib}.lib:
  192. @echo Copying $< to $@
  193. @copy $< $@
  194. {$T\dll_obj}.lib{$E}.lib:
  195. @echo Copying $< to $@
  196. @copy $< $@
  197. {$T\xdll_obj}.obj{$E\xdll_lib}.obj:
  198. @echo Copying $< to $@
  199. @copy $< $@
  200. {$T\xdll_obj}.lib{$E\xdll_lib}.lib:
  201. @echo Copying $< to $@
  202. @copy $< $@
  203. all: release debug
  204. release: st mt dll
  205. debug: xst xmt xdll
  206. book : bst bmt xbst xbmt
  207. st: $(DIRS_ALL) $(DIRS_LIBCST:*=) $(FILES_ALL) $(FILES_LIBCST:*=)
  208. mt: $(DIRS_ALL) $(DIRS_LIBCMT:*=) $(FILES_ALL) $(FILES_LIBCMT:*=)
  209. dll: $(DIRS_ALL) $(DIRS_DLL:*=) $(FILES_ALL) $(FILES_DLL:*=) $(FILES_DLL_RELEASE)
  210. xst: $(DIRS_ALL) $(DIRS_LIBCST:*=x) $(FILES_ALL) $(FILES_LIBCST:*=x)
  211. xmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=x) $(FILES_ALL) $(FILES_LIBCMT:*=x)
  212. xdll: $(DIRS_ALL) $(DIRS_DLL:*=x) $(FILES_ALL) $(FILES_DLL:*=x) $(FILES_DLL_DEBUG)
  213. bst: $(DIRS_ALL) $(DIRS_LIBCST:*=b) $(FILES_LIBCST_BSKU:*=b)
  214. bmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=b) $(FILES_LIBCMT_BSKU:*=b)
  215. xbst: $(DIRS_ALL) $(DIRS_LIBCST:*=xb) $(FILES_LIBCST_BSKU:*=xb)
  216. xbmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=xb) $(FILES_LIBCMT_BSKU:*=xb)
  217. $(DIRS_ALL) $(DIRS:*=) $(DIRS:*=x) $(DIRS:*=b) $(DIRS:*=xb):
  218. @if not exist $@\NUL mkdire $@
  219. $D\$(DEFIOS_NAME)d.def: $S\libw32\lib\$(DEFIOS_NAME)d.def
  220. @echo Copying $** to $@
  221. @copy $** $@
  222. $D\$(DEFIOS_NAME).def: $S\libw32\lib\$(DEFIOS_NAME).def
  223. @echo Copying $** to $@
  224. @copy $** $@
  225. $D\$(DEFCPP_NAME)d.def: $S\libw32\lib\$(DEFCPP_NAME)d.def
  226. @echo Copying $** to $@
  227. @copy $** $@
  228. $D\$(DEFCPP_NAME).def: $S\libw32\lib\$(DEFCPP_NAME).def
  229. @echo Copying $** to $@
  230. @copy $** $@
  231. !if "$(PA)"=="x86"
  232. !if "$(LLP64)"=="1"
  233. $E\$(DEF_NAME)d.def: $S\libw32\lib\ia64\$(DEF_NAME)d.def
  234. @echo Copying $** to $@
  235. @copy $** $@
  236. $E\$(DEF_NAME).def: $S\libw32\lib\ia64\$(DEF_NAME).def
  237. @echo Copying $** to $@
  238. @copy $** $@
  239. $E\msvcr40d.def: $S\libw32\lib\ia64\msvcr40d.def
  240. @echo Copying $** to $@
  241. @copy $** $@
  242. $E\msvcrt40.def: $S\libw32\lib\ia64\msvcrt40.def
  243. @echo Copying $** to $@
  244. @copy $** $@
  245. !elseif "$(LLP64)"=="2"
  246. $E\$(DEF_NAME)d.def: $S\libw32\lib\amd64\$(DEF_NAME)d.def
  247. @echo Copying $** to $@
  248. @copy $** $@
  249. $E\$(DEF_NAME).def: $S\libw32\lib\amd64\$(DEF_NAME).def
  250. @echo Copying $** to $@
  251. @copy $** $@
  252. $E\msvcr40d.def: $S\libw32\lib\asm64\msvcr40d.def
  253. @echo Copying $** to $@
  254. @copy $** $@
  255. $E\msvcrt40.def: $S\libw32\lib\amd64\msvcrt40.def
  256. @echo Copying $** to $@
  257. @copy $** $@
  258. !else
  259. #*
  260. #* Note: ...\I386\msvcrt*.def are copied to ...\INTEL\msvcrt*.def
  261. #*
  262. $E\$(DEF_NAME)d.def: $S\libw32\lib\i386\$(DEF_NAME)d.def
  263. @echo Copying $** to $@
  264. @copy $** $@
  265. $E\$(DEF_NAME).def: $S\libw32\lib\i386\$(DEF_NAME).def
  266. @echo Copying $** to $@
  267. @copy $** $@
  268. $E\msvcr40d.def: $S\libw32\lib\i386\msvcr40d.def
  269. @echo Copying $** to $@
  270. @copy $** $@
  271. $E\msvcrt40.def: $S\libw32\lib\i386\msvcrt40.def
  272. @echo Copying $** to $@
  273. @copy $** $@
  274. !endif
  275. !else
  276. $E\$(DEF_NAME)d.def: $S\libw32\lib\$(CPUDIR)\$(DEF_NAME)d.def
  277. @echo Copying $** to $@
  278. @copy $** $@
  279. $E\$(DEF_NAME).def: $S\libw32\lib\$(CPUDIR)\$(DEF_NAME).def
  280. @echo Copying $** to $@
  281. @copy $** $@
  282. $E\msvcr40d.def: $S\libw32\lib\$(CPUDIR)\msvcr40d.def
  283. @echo Copying $** to $@
  284. @copy $** $@
  285. $E\msvcrt40.def: $S\libw32\lib\$(CPUDIR)\msvcrt40.def
  286. @echo Copying $** to $@
  287. @copy $** $@
  288. !endif