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.

241 lines
4.5 KiB

  1. PA = $(PROCESSOR_ARCHITECTURE) # Use a shorter name
  2. # if doing a 64-bit CRT build on a 32-bit system, use the native 32-bit
  3. # compiler, not a 64-bit-targetting cross-compiler
  4. !if "$(LLP64)" != "1" || "$(PA)" == "IA64" || "$(PA)" == "ALPHA64"
  5. CC = cl
  6. !else
  7. CC = $(V6TOOLS)\bin\cl
  8. !endif
  9. !if "$(PA)"=="x86"
  10. !if "$(LLP64)"=="1"
  11. CPUDIR = ia64
  12. !else
  13. CPUDIR = intel
  14. !endif
  15. !elseif "$(PA)"=="ALPHA"
  16. !if "$(LLP64)"=="1"
  17. CPUDIR = alpha64
  18. !else
  19. CPUDIR = alpha
  20. !endif
  21. !elseif "$(PA)"=="MIPS"
  22. CPUDIR = mips
  23. !elseif "$(PA)"=="PPC"
  24. CPUDIR = ppc
  25. !else
  26. !error objects.mkf: unknown host CPU
  27. !endif
  28. !if "$(BLD_SYSCRT)" != "1"
  29. DEF_NAME=msvcrt
  30. DEFCPP_NAME=msvcprt
  31. DEFIOS_NAME=msvcirt
  32. !else
  33. ! if "$(LLP64)" != "1"
  34. DEF_NAME=syscrt
  35. DEFCPP_NAME=sysprt
  36. DEFIOS_NAME=sysirt
  37. ! else
  38. DEF_NAME=msvcrt
  39. DEFCPP_NAME=msvcprt
  40. DEFIOS_NAME=msvcirt
  41. ! endif
  42. !endif
  43. D=$(CRT_BUILDDIR)\crt\src
  44. E=$D\$(CPUDIR)
  45. S=$(CRT_BUILDDIR)\crt\src
  46. T=$S\build\$(CPUDIR)
  47. !if "$(PA)"=="ALPHA" || "$(PA)"=="ALPHA64"
  48. FILES_CPU =
  49. !elseif "$(PA)"=="MIPS"
  50. FILES_CPU =
  51. !elseif "$(PA)"=="PPC"
  52. FILES_CPU =
  53. !elseif "$(PA)"=="x86"
  54. FILES_CPU_DLL =
  55. FILES_CPU =
  56. !endif
  57. FILES_LIBCST = $(FILES_CPU:*=*st_lib)
  58. FILES_LIBCMT = $(FILES_CPU:*=*mt_lib)
  59. FILES_DLL = $(FILES_CPU:*=*dll_lib) $(FILES_CPU_DLL:*=*dll_lib)
  60. FILES_ALL = \
  61. $D\ext_mkf \
  62. $D\ext_mkf.inc \
  63. $D\ext_mkf.sub \
  64. $D\bldnt.cmd \
  65. $D\bldwin95.bat \
  66. $D\nmktobat.c
  67. FILES_DLL_ALL = \
  68. $D\sample_p.rc
  69. FILES_DLL_RELEASE = \
  70. $(FILES_DLL_ALL) \
  71. $D\sample_p.def
  72. FILES_DLL_DEBUG = \
  73. $(FILES_DLL_ALL) \
  74. $D\sampld_p.def
  75. .SUFFIXES:
  76. .SUFFIXES: .lib .obj
  77. {$T\st_obj}.obj{$E\st_lib}.obj:
  78. @echo Copying $< to $@
  79. @copy $< $@
  80. {$T\st_obj}.lib{$E\st_lib}.lib:
  81. @echo Copying $< to $@
  82. @copy $< $@
  83. {$T\st_obj}.lib{$E}.lib:
  84. @echo Copying $< to $@
  85. @copy $< $@
  86. {$T\xst_obj}.obj{$E\xst_lib}.obj:
  87. @echo Copying $< to $@
  88. @copy $< $@
  89. {$T\xst_obj}.lib{$E\xst_lib}.lib:
  90. @echo Copying $< to $@
  91. @copy $< $@
  92. {$T\zst_obj}.obj{$E\zst_lib}.obj:
  93. @echo Copying $< to $@
  94. @copy $< $@
  95. {$T\zst_obj}.lib{$E\zst_lib}.lib:
  96. @echo Copying $< to $@
  97. @copy $< $@
  98. {$T\mt_obj}.obj{$E\mt_lib}.obj:
  99. @echo Copying $< to $@
  100. @copy $< $@
  101. {$T\mt_obj}.lib{$E\mt_lib}.lib:
  102. @echo Copying $< to $@
  103. @copy $< $@
  104. {$T\xmt_obj}.obj{$E\xmt_lib}.obj:
  105. @echo Copying $< to $@
  106. @copy $< $@
  107. {$T\xmt_obj}.lib{$E\xmt_lib}.lib:
  108. @echo Copying $< to $@
  109. @copy $< $@
  110. {$T\zmt_obj}.obj{$E\zmt_lib}.obj:
  111. @echo Copying $< to $@
  112. @copy $< $@
  113. {$T\zmt_obj}.lib{$E\zmt_lib}.lib:
  114. @echo Copying $< to $@
  115. @copy $< $@
  116. {$T\dll_obj}.obj{$E\dll_lib}.obj:
  117. @echo Copying $< to $@
  118. @copy $< $@
  119. {$T\dll_obj}.lib{$E\dll_lib}.lib:
  120. @echo Copying $< to $@
  121. @copy $< $@
  122. {$T\dll_obj}.lib{$E}.lib:
  123. @echo Copying $< to $@
  124. @copy $< $@
  125. {$T\zdll_obj}.obj{$E\zdll_lib}.obj:
  126. @echo Copying $< to $@
  127. @copy $< $@
  128. {$T\zdll_obj}.lib{$E\zdll_lib}.lib:
  129. @echo Copying $< to $@
  130. @copy $< $@
  131. {$T\xdll_obj}.obj{$E\xdll_lib}.obj:
  132. @echo Copying $< to $@
  133. @copy $< $@
  134. {$T\xdll_obj}.lib{$E\xdll_lib}.lib:
  135. @echo Copying $< to $@
  136. @copy $< $@
  137. all: release debug
  138. release: st mt dll $(FILES_ALL)
  139. debug: xst xmt xdll $(FILES_ALL)
  140. st: $(FILES_LIBCST:*=)
  141. mt: $(FILES_LIBCMT:*=)
  142. dll: $(FILES_DLL:*=) $(FILES_DLL_RELEASE)
  143. xst: $(FILES_LIBCST:*=x)
  144. xmt: $(FILES_LIBCMT:*=x)
  145. xdll: $(FILES_DLL:*=x) $(FILES_DLL_DEBUG)
  146. $D\nmktobat.c: nmktobat.c
  147. @echo Copying $** to $@
  148. @copy $** $@
  149. $D\bldnt.cmd: bldnt.cmd
  150. @echo Copying $** to $@
  151. @copy $** $@
  152. $D\bldwin95.bat: bldwin95.bat
  153. @echo Copying $** to $@
  154. @copy $** $@
  155. $D\ext_mkf: $D\makefile striplin.exe
  156. @echo Translating $D\makefile into $@
  157. @striplin < $D\makefile > $@
  158. $D\ext_mkf.inc: $D\makefile.inc striplin.exe
  159. @echo Translating $D\makefile.inc into $@
  160. @striplin < $D\makefile.inc > $@
  161. $D\ext_mkf.sub: $D\makefile.sub striplin.exe
  162. @echo Translating $D\makefile.sub into $@
  163. @striplin < $D\makefile.sub > $@
  164. $D\sample_p.rc: _sample_.rc
  165. @echo Translating $** into $@
  166. @sed -e "s/_SAMPLD_/SAMPLD_P/" -e "s/_SAMPLE_/SAMPLE_P/" $** > $@
  167. $D\sample_p.def: $D\$(DEFCPP_NAME).def striplin.exe
  168. @echo Translating $D\$(DEFCPP_NAME).def into $@
  169. @striplin < $D\$(DEFCPP_NAME).def | sed -e "s/MSVCP[R0-9][T0-9]D/SAMPLD_P/" -e "s/MSVCP[R0-9][T0-9]/SAMPLE_P/" > $@
  170. $D\sampld_p.def: $D\$(DEFCPP_NAME)d.def striplin.exe
  171. @echo Translating $D\$(DEFCPP_NAME)d.def into $@
  172. @striplin < $D\$(DEFCPP_NAME)d.def | sed -e "s/MSVCP[R0-9][T0-9]D/SAMPLD_P/" -e "s/MSVCP[R0-9][T0-9]/SAMPLE_P/" > $@
  173. striplin.exe: striplin.c
  174. $(CC) -nologo -Gi- -W3 -WX -Za -X -I$(V6TOOLS)\include $*.c \
  175. -link -nod:libc.lib -nod:kernel32.lib \
  176. $(V6TOOLS)\lib\libc.lib $(V6TOOLS)\lib\kernel32.lib