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.

539 lines
10 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"
  8. CPUDIR = intel
  9. !elseif "$(PA)"=="ALPHA"
  10. !if "$(LLP64)"!="0"
  11. CPUDIR = alpha64
  12. !else
  13. CPUDIR = alpha
  14. !endif
  15. !elseif "$(PA)"=="MIPS"
  16. CPUDIR = mips
  17. !elseif "$(PA)"=="PPC"
  18. CPUDIR = ppc
  19. !else
  20. !error objects.mkf: unknown host CPU
  21. !endif
  22. !if "$(LLP64)" == "0" && "$(BLD_SYSCRT)" != "1"
  23. RTC = YES
  24. !else
  25. RTC = NO
  26. !endif
  27. DEF_NAME=msvcrt
  28. DEFCPP_NAME=msvcprt
  29. DEFIOS_NAME=msvcirt
  30. D=$(CRT_BUILDDIR)\crt\src
  31. E=$D\$(CPUDIR)
  32. S=$(CRT_BUILDDIR)\crt\prebuild
  33. T=$S\build\$(CPUDIR)
  34. FILES_CPU_ALL = \
  35. $E\*\eh.lib \
  36. $E\*\conv.lib \
  37. $E\*\tran.lib
  38. !if "$(RTC)" == "YES"
  39. FILES_CPU_ALL = \
  40. $(FILES_CPU_ALL) \
  41. $E\*\rtc.lib
  42. !endif
  43. FILES_ALPHA64 = \
  44. $(FILES_CPU_ALL) \
  45. $E\*\chkesp.obj \
  46. $E\*\chkstk.obj \
  47. $E\*\divdat.obj \
  48. $E\*\divide2.obj \
  49. $E\*\extv.obj \
  50. $E\*\extvvol.obj \
  51. $E\*\extzv.obj \
  52. $E\*\extzvvol.obj \
  53. $E\*\ghandler.obj \
  54. $E\*\insv.obj \
  55. $E\*\insvvol.obj \
  56. $E\*\jmpuwind.obj \
  57. $E\*\longjmp.obj \
  58. $E\*\matherr.obj \
  59. $E\*\memcmp_.obj \
  60. $E\*\otsdiv.obj \
  61. $E\*\otsjmp.obj \
  62. $E\*\otsjmpex.obj \
  63. $E\*\otsuwind.obj \
  64. $E\*\scmpeql.obj \
  65. $E\*\scmpeqlp.obj \
  66. $E\*\scmpleq.obj \
  67. $E\*\scmpleqp.obj \
  68. $E\*\scmplss.obj \
  69. $E\*\scmplssp.obj \
  70. $E\*\setjmp.obj \
  71. $E\*\setjmpex.obj \
  72. $E\*\sfill.obj \
  73. $E\*\sfillx.obj \
  74. $E\*\sfwdcpy.obj \
  75. $E\*\sloc.obj \
  76. $E\*\smove.obj \
  77. $E\*\smovem.obj \
  78. $E\*\strans.obj \
  79. $E\*\strcmp_.obj \
  80. $E\*\strcmps.obj \
  81. $E\*\strcpy_.obj \
  82. $E\*\strcpys.obj \
  83. $E\*\strlen_.obj \
  84. $E\*\strlens.obj \
  85. $E\*\szero.obj \
  86. $E\*\tlssup.obj
  87. !if "$(PA)"=="ALPHA64"
  88. FILES_CPU = \
  89. $(FILES_ALPHA64)
  90. !elseif "$(PA)"=="ALPHA"
  91. !if "$(LLP64)"!="0"
  92. FILES_CPU = \
  93. $(FILES_ALPHA64)
  94. !else
  95. FILES_CPU = \
  96. $(FILES_ALPHA64) \
  97. $E\*\chandler.obj
  98. !endif
  99. !elseif "$(PA)"=="MIPS"
  100. FILES_CPU = \
  101. $(FILES_CPU_ALL) \
  102. $E\*\setjmp.obj \
  103. $E\*\chandler.obj \
  104. $E\*\chkstk.obj \
  105. $E\*\jmpuwind.obj \
  106. $E\*\llabsdiv.obj \
  107. $E\*\llbit.obj \
  108. $E\*\llcvt.obj \
  109. $E\*\lldiv.obj \
  110. $E\*\lldivrem.obj \
  111. $E\*\llmul.obj \
  112. $E\*\llshift.obj \
  113. $E\*\longjmp.obj \
  114. $E\*\matherr.obj \
  115. $E\*\memorym.obj \
  116. $E\*\setjmpex.obj \
  117. $E\*\strcatm.obj \
  118. $E\*\strchrm.obj \
  119. $E\*\strcmpm.obj \
  120. $E\*\strcpym.obj \
  121. $E\*\strlenm.obj \
  122. $E\*\strrchrm.obj \
  123. $E\*\tlssup.obj
  124. !elseif "$(PA)"=="PPC"
  125. FILES_CPU = \
  126. $(FILES_CPU_ALL) \
  127. $E\*\setjmp.obj \
  128. $E\*\chandler.obj \
  129. $E\*\chkstk.obj \
  130. $E\*\dtoi.obj \
  131. $E\*\dtoi64.obj \
  132. $E\*\dtou.obj \
  133. $E\*\dtou64.obj \
  134. $E\*\exsup.obj \
  135. $E\*\i64div.obj \
  136. $E\*\i64rem.obj \
  137. $E\*\i64rsh.obj \
  138. $E\*\i64tod.obj \
  139. $E\*\icall.obj \
  140. $E\*\itod.obj \
  141. $E\*\itof.obj \
  142. $E\*\jmpuwind.obj \
  143. $E\*\longjmp.obj \
  144. $E\*\matherr.obj \
  145. $E\*\memccpyp.obj \
  146. $E\*\memchrp.obj \
  147. $E\*\memcmpp.obj \
  148. $E\*\memcpyp.obj \
  149. $E\*\memcpy_.obj \
  150. $E\*\memmovep.obj \
  151. $E\*\memsetp.obj \
  152. $E\*\memset_.obj \
  153. $E\*\restfpr.obj \
  154. $E\*\restgpr.obj \
  155. $E\*\savefpr.obj \
  156. $E\*\savegpr.obj \
  157. $E\*\setjmpex.obj \
  158. $E\*\strcatp.obj \
  159. $E\*\strchrp.obj \
  160. $E\*\strcmpp.obj \
  161. $E\*\stricmpp.obj \
  162. $E\*\strlenp.obj \
  163. $E\*\strrchrp.obj \
  164. $E\*\tlssup.obj \
  165. $E\*\u64div.obj \
  166. $E\*\u64rem.obj \
  167. $E\*\u64tod.obj \
  168. $E\*\utod.obj \
  169. $E\*\utof.obj
  170. !elseif "$(PA)"=="IA64" || ("$(PA)"=="x86" && "$(LLP64)"=="1")
  171. FILES_CPU = \
  172. $(FILES_CPU_ALL) \
  173. $E\*\setjmp.obj \
  174. $E\*\chandler.obj \
  175. $E\*\cinitone.obj \
  176. $E\*\jmpuwind.obj \
  177. $E\*\longjmp.obj \
  178. $E\*\memcpy.obj \
  179. $E\*\memmove.obj \
  180. $E\*\memset.obj \
  181. $E\*\strcpy.obj \
  182. $E\*\strcat.obj \
  183. $E\*\strlen.obj \
  184. $E\*\strcmp.obj \
  185. $E\*\miscs.obj \
  186. $E\*\setjmp.obj \
  187. $E\*\setjmpex.obj \
  188. $E\*\chkstk.obj \
  189. $E\*\matherr.obj \
  190. $E\*\tlssup.obj
  191. !elseif "$(PA)"=="x86"
  192. FILES_CPU = \
  193. $(FILES_CPU_ALL) \
  194. $E\*\setjmp.obj \
  195. $E\*\exsup.obj \
  196. $E\*\exsup2.obj \
  197. $E\*\exsup3.obj \
  198. $E\*\atlssup.obj \
  199. $E\*\chkesp.obj \
  200. $E\*\longjmp.obj \
  201. $E\*\matherr.obj \
  202. $E\*\sehprolg.obj \
  203. $E\*\sehsupp.obj \
  204. $E\*\setjmp3.obj \
  205. $E\*\setjmpex.obj \
  206. $E\*\tlssup.obj
  207. !endif
  208. FILES_CPU_DLL = \
  209. $E\*\ehvccctr.obj \
  210. $E\*\ehvcccvb.obj \
  211. $E\*\ehvecctr.obj \
  212. $E\*\ehveccvb.obj \
  213. $E\*\ehvecdtr.obj \
  214. $E\*\oldexcpt.obj
  215. !if "$(PA)"=="x86" && "$(LLP64)"=="0"
  216. FILES_CPU_DLL = \
  217. $(FILES_CPU_DLL) \
  218. $E\*\ehprolg2.obj \
  219. $E\*\ehprolog.obj \
  220. $E\*\ftol2.obj
  221. !endif
  222. FILES_CPU_BSKU = \
  223. $E\*\bsku.obj
  224. FILES_LIBCST = $(FILES_CPU:*=*st_lib)
  225. FILES_LIBCMT = $(FILES_CPU:*=*mt_lib)
  226. FILES_DLL = $(FILES_CPU:*=*dll_lib) $(FILES_CPU_DLL:*=*dll_lib)
  227. FILES_LIBCST_BSKU = $(FILES_CPU_BSKU:*=*st_lib)
  228. FILES_LIBCMT_BSKU = $(FILES_CPU_BSKU:*=*mt_lib)
  229. FILES_ALL = \
  230. $E\almap.lib \
  231. $E\tcmap.lib
  232. FILES_DLL_ALL = \
  233. $E\sdknames.lib \
  234. $E\tcmapdll.lib
  235. FILES_DLL_RELEASE = \
  236. $(FILES_DLL_ALL) \
  237. $D\$(DEFIOS_NAME).def \
  238. $D\$(DEFCPP_NAME).def \
  239. !IF "$(BLD_FWDR)"=="1"
  240. $E\msvcrt40.def \
  241. !ENDIF
  242. $E\$(DEF_NAME).def
  243. FILES_DLL_DEBUG = \
  244. $(FILES_DLL_ALL) \
  245. $D\$(DEFIOS_NAME)d.def \
  246. $D\$(DEFCPP_NAME)d.def \
  247. !IF "$(BLD_FWDR)"=="1"
  248. $E\msvcr40d.def \
  249. !ENDIF
  250. $E\$(DEF_NAME)d.def
  251. DIRS_ALL = $E
  252. DIRS_LIBCST = $E\*st_lib
  253. DIRS_LIBCMT = $E\*mt_lib
  254. DIRS_DLL = $E\*dll_lib
  255. DIRS = $(DIRS_LIBCST) $(DIRS_LIBCMT) $(DIRS_DLL)
  256. .SUFFIXES:
  257. .SUFFIXES: .lib .obj
  258. {$T\st_obj}.obj{$E\st_lib}.obj:
  259. @echo Copying $< to $@
  260. @copy $< $@
  261. {$T\st_obj}.lib{$E\st_lib}.lib:
  262. @echo Copying $< to $@
  263. @copy $< $@
  264. {$T\st_obj}.lib{$E}.lib:
  265. @echo Copying $< to $@
  266. @copy $< $@
  267. {$T\xst_obj}.obj{$E\xst_lib}.obj:
  268. @echo Copying $< to $@
  269. @copy $< $@
  270. {$T\xst_obj}.lib{$E\xst_lib}.lib:
  271. @echo Copying $< to $@
  272. @copy $< $@
  273. {$T\zst_obj}.obj{$E\zst_lib}.obj:
  274. @echo Copying $< to $@
  275. @copy $< $@
  276. {$T\zst_obj}.lib{$E\zst_lib}.lib:
  277. @echo Copying $< to $@
  278. @copy $< $@
  279. {$T\bst_obj}.obj{$E\bst_lib}.obj:
  280. @echo Copying $< to $@
  281. @copy $< $@
  282. {$T\bst_obj}.lib{$E\bst_lib}.lib:
  283. @echo Copying $< to $@
  284. @copy $< $@
  285. {$T\xbst_obj}.obj{$E\xbst_lib}.obj:
  286. @echo Copying $< to $@
  287. @copy $< $@
  288. {$T\xbst_obj}.lib{$E\xbst_lib}.lib:
  289. @echo Copying $< to $@
  290. @copy $< $@
  291. {$T\mt_obj}.obj{$E\mt_lib}.obj:
  292. @echo Copying $< to $@
  293. @copy $< $@
  294. {$T\mt_obj}.lib{$E\mt_lib}.lib:
  295. @echo Copying $< to $@
  296. @copy $< $@
  297. {$T\xmt_obj}.obj{$E\xmt_lib}.obj:
  298. @echo Copying $< to $@
  299. @copy $< $@
  300. {$T\xmt_obj}.lib{$E\xmt_lib}.lib:
  301. @echo Copying $< to $@
  302. @copy $< $@
  303. {$T\zmt_obj}.obj{$E\zmt_lib}.obj:
  304. @echo Copying $< to $@
  305. @copy $< $@
  306. {$T\zmt_obj}.lib{$E\zmt_lib}.lib:
  307. @echo Copying $< to $@
  308. @copy $< $@
  309. {$T\bmt_obj}.obj{$E\bmt_lib}.obj:
  310. @echo Copying $< to $@
  311. @copy $< $@
  312. {$T\bmt_obj}.lib{$E\bmt_lib}.lib:
  313. @echo Copying $< to $@
  314. @copy $< $@
  315. {$T\xbmt_obj}.obj{$E\xbmt_lib}.obj:
  316. @echo Copying $< to $@
  317. @copy $< $@
  318. {$T\xbmt_obj}.lib{$E\xbmt_lib}.lib:
  319. @echo Copying $< to $@
  320. @copy $< $@
  321. {$T\dll_obj}.obj{$E\dll_lib}.obj:
  322. @echo Copying $< to $@
  323. @copy $< $@
  324. {$T\dll_obj}.lib{$E\dll_lib}.lib:
  325. @echo Copying $< to $@
  326. @copy $< $@
  327. {$T\dll_obj}.lib{$E}.lib:
  328. @echo Copying $< to $@
  329. @copy $< $@
  330. {$T\zdll_obj}.obj{$E\zdll_lib}.obj:
  331. @echo Copying $< to $@
  332. @copy $< $@
  333. {$T\zdll_obj}.lib{$E\zdll_lib}.lib:
  334. @echo Copying $< to $@
  335. @copy $< $@
  336. {$T\xdll_obj}.obj{$E\xdll_lib}.obj:
  337. @echo Copying $< to $@
  338. @copy $< $@
  339. {$T\xdll_obj}.lib{$E\xdll_lib}.lib:
  340. @echo Copying $< to $@
  341. @copy $< $@
  342. all: release debug
  343. release: st mt dll
  344. debug: xst xmt xdll
  345. bbt: zst zmt zdll
  346. lego: bbt
  347. book : bst bmt xbst xbmt
  348. st: $(DIRS_ALL) $(DIRS_LIBCST:*=) $(FILES_ALL) $(FILES_LIBCST:*=)
  349. mt: $(DIRS_ALL) $(DIRS_LIBCMT:*=) $(FILES_ALL) $(FILES_LIBCMT:*=)
  350. dll: $(DIRS_ALL) $(DIRS_DLL:*=) $(FILES_ALL) $(FILES_DLL:*=) $(FILES_DLL_RELEASE)
  351. xst: $(DIRS_ALL) $(DIRS_LIBCST:*=x) $(FILES_ALL) $(FILES_LIBCST:*=x)
  352. xmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=x) $(FILES_ALL) $(FILES_LIBCMT:*=x)
  353. xdll: $(DIRS_ALL) $(DIRS_DLL:*=x) $(FILES_ALL) $(FILES_DLL:*=x) $(FILES_DLL_DEBUG)
  354. zst: $(DIRS_ALL) $(DIRS_LIBCST:*=z) $(FILES_ALL) $(FILES_LIBCST:*=z)
  355. zmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=z) $(FILES_ALL) $(FILES_LIBCMT:*=z)
  356. zdll: $(DIRS_ALL) $(DIRS_DLL:*=z) $(FILES_ALL) $(FILES_DLL:*=z) $(FILES_DLL_RELEASE)
  357. bst: $(DIRS_ALL) $(DIRS_LIBCST:*=b) $(FILES_LIBCST_BSKU:*=b)
  358. bmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=b) $(FILES_LIBCMT_BSKU:*=b)
  359. xbst: $(DIRS_ALL) $(DIRS_LIBCST:*=xb) $(FILES_LIBCST_BSKU:*=xb)
  360. xbmt: $(DIRS_ALL) $(DIRS_LIBCMT:*=xb) $(FILES_LIBCMT_BSKU:*=xb)
  361. $(DIRS_ALL) $(DIRS:*=) $(DIRS:*=x) $(DIRS:*=z) $(DIRS:*=b) $(DIRS:*=xb):
  362. @if not exist $@\NUL mkdire $@
  363. $D\$(DEFIOS_NAME)d.def: $S\libw32\lib\$(DEFIOS_NAME)d.def
  364. @echo Copying $** to $@
  365. @copy $** $@
  366. $D\$(DEFIOS_NAME).def: $S\libw32\lib\$(DEFIOS_NAME).def
  367. @echo Copying $** to $@
  368. @copy $** $@
  369. $D\$(DEFCPP_NAME)d.def: $S\libw32\lib\$(DEFCPP_NAME)d.def
  370. @echo Copying $** to $@
  371. @copy $** $@
  372. $D\$(DEFCPP_NAME).def: $S\libw32\lib\$(DEFCPP_NAME).def
  373. @echo Copying $** to $@
  374. @copy $** $@
  375. !if "$(PA)"=="x86"
  376. !if "$(LLP64)"=="1"
  377. $E\$(DEF_NAME)d.def: $S\libw32\lib\ia64\$(DEF_NAME)d.def
  378. @echo Copying $** to $@
  379. @copy $** $@
  380. $E\$(DEF_NAME).def: $S\libw32\lib\ia64\$(DEF_NAME).def
  381. @echo Copying $** to $@
  382. @copy $** $@
  383. $E\msvcr40d.def: $S\libw32\lib\ia64\msvcr40d.def
  384. @echo Copying $** to $@
  385. @copy $** $@
  386. $E\msvcrt40.def: $S\libw32\lib\ia64\msvcrt40.def
  387. @echo Copying $** to $@
  388. @copy $** $@
  389. !else
  390. #*
  391. #* Note: ...\I386\msvcrt*.def are copied to ...\INTEL\msvcrt*.def
  392. #*
  393. $E\$(DEF_NAME)d.def: $S\libw32\lib\i386\$(DEF_NAME)d.def
  394. @echo Copying $** to $@
  395. @copy $** $@
  396. $E\$(DEF_NAME).def: $S\libw32\lib\i386\$(DEF_NAME).def
  397. @echo Copying $** to $@
  398. @copy $** $@
  399. $E\msvcr40d.def: $S\libw32\lib\i386\msvcr40d.def
  400. @echo Copying $** to $@
  401. @copy $** $@
  402. $E\msvcrt40.def: $S\libw32\lib\i386\msvcrt40.def
  403. @echo Copying $** to $@
  404. @copy $** $@
  405. !endif
  406. !else
  407. $E\$(DEF_NAME)d.def: $S\libw32\lib\$(CPUDIR)\$(DEF_NAME)d.def
  408. @echo Copying $** to $@
  409. @copy $** $@
  410. $E\$(DEF_NAME).def: $S\libw32\lib\$(CPUDIR)\$(DEF_NAME).def
  411. @echo Copying $** to $@
  412. @copy $** $@
  413. $E\msvcr40d.def: $S\libw32\lib\$(CPUDIR)\msvcr40d.def
  414. @echo Copying $** to $@
  415. @copy $** $@
  416. $E\msvcrt40.def: $S\libw32\lib\$(CPUDIR)\msvcrt40.def
  417. @echo Copying $** to $@
  418. @copy $** $@
  419. !endif