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.

207 lines
5.4 KiB

  1. !IFNDEF LANGUAGE
  2. LANGUAGE=usa
  3. !ENDIF
  4. #
  5. # BOOT_LIB_DIR is the relative path to boot.lib.
  6. #
  7. $(O)\msgs.mc : ..\msgs.$(LANGUAGE)
  8. copy $** $@
  9. !IF $(386)
  10. !IFNDEF BOOT_LIB_DIR
  11. ENTRYPOINT=-entry:NtProcessStartup@4
  12. LDR_NAME=setupldr$(DBG_LDR).exe
  13. BOOT_LIB_DIR=daytona$(DBG_LDR)
  14. !ENDIF
  15. SETUPLDR_LIBS= \
  16. $(O)\setupldr.lib \
  17. $(O)\setupldr.res \
  18. $(PROJECT_ROOT)\boot\lib\$(BOOT_LIB_DIR)\$(O)\boot.lib \
  19. $(PROJECT_ROOT)\boot\bd\daytona$(DBG_LDR)\$(O)\bd.lib \
  20. $(PROJECT_ROOT)\boot\tftplib\$(O)\tftplib.lib \
  21. $(PROJECT_ROOT)\boot\bootssp\boot\$(O)\bootssp.lib \
  22. $(PROJECT_ROOT)\ntos\ke\up\$(O)\ke.lib \
  23. $(PROJECT_ROOT)\ntos\rtl\boot$(DBG_LDR)\$(O)\bldrrtl$(DBG_LDR).lib \
  24. $(PROJECT_ROOT)\ntos\config\boot\$(O)\bconfig.lib \
  25. $(DS_LIB_PATH)\rsa32.lib \
  26. $(SDK_LIB_PATH)\fdi.lib \
  27. $(SDK_LIB_PATH)\libcntpr.lib \
  28. $(O)\link.rsp : ..\makefile.inc
  29. type << > $@
  30. -base:0x300000
  31. -debug
  32. $(ENTRYPOINT)
  33. -fixed
  34. -ignore:4001
  35. -incremental:no
  36. -machine:ix86
  37. -map
  38. -nodefaultlib
  39. -opt:ref
  40. -opt:icf
  41. -subsystem:native
  42. $(LINK_TIME_CODE_GENERATION_LINKER_FLAGS)
  43. $(LINK_LIB_IGNORE_FLAG)
  44. $(SETUPLDR_LIBS)
  45. <<NOKEEP
  46. $(O)\setupldr.res: $(O)\msgs.mc
  47. $(O)\$(LDR_NAME): $(SETUPLDR_LIBS) makefile.inc $(O)\link.rsp
  48. $(LINK_NAME) -out:$@ @$(O)\link.rsp
  49. !IFNDEF NTVERSION
  50. STARTUP=i386\startup\a20.asm \
  51. i386\startup\abios.inc \
  52. i386\startup\abiosa.asm \
  53. i386\startup\backend.asm \
  54. i386\startup\constant.h \
  55. i386\startup\display.c \
  56. i386\startup\eisac.c \
  57. i386\startup\eisaa.asm \
  58. i386\startup\eisa.h \
  59. i386\startup\eisa.inc \
  60. i386\startup\exp.asm \
  61. i386\startup\global.h \
  62. i386\startup\macro.inc \
  63. i386\startup\main.c \
  64. i386\startup\memmap.h \
  65. i386\startup\memmap.inc \
  66. i386\startup\su.asm \
  67. i386\startup\su.h \
  68. i386\startup\su.inc \
  69. i386\startup\sudata.asm \
  70. i386\startup\trap.asm \
  71. i386\startup\trapdump.c \
  72. i386\startup\types.h
  73. !ENDIF
  74. #
  75. # STARTUP_DIR is the relative path to startup.com.
  76. # All languages use their own startup.com,
  77. # except FE langauges which use the US version when
  78. # creating setupldr.bin.
  79. #
  80. !IFNDEF STARTUP_DIR
  81. STARTUP_DIR=$(ALT_PROJECT)
  82. !ENDIF
  83. $(O)\setupldr$(DBG_LDR).bin: $(O)\setupldr$(DBG_LDR).exe ..\..\startup\$(STARTUP_DIR)\$(_OBJ_DIR)\i386\startup.com makefile.inc
  84. -copy $(O)\setupldr$(DBG_LDR).exe $(O)\setupldr.spl
  85. splitsym -a $(O)\setupldr.spl
  86. -copy /b ..\..\startup\$(STARTUP_DIR)\$(_OBJ_DIR)\i386\startup.com+$(O)\setupldr.spl $@
  87. -del /q $(O)\setupldr.dbg
  88. !ELSE IF $(IA64)
  89. EFI_ROOT=$(PROJECT_ROOT)\efiutil\sdk
  90. !if $(IA64)
  91. LIBSRC=sal64
  92. MACH=IA64
  93. !else
  94. LIBSRC=nt32
  95. MACH=x86
  96. !endif
  97. #Add in -fixed if debugging with an ITP to get a known base
  98. SETUPLDR_LIBS=\
  99. $(O)\setupldr.lib \
  100. $(O)\setupldr.res \
  101. $(PROJECT_ROOT)\boot\lib\daytona$(DBG_LDR)\$(O)\boot.lib \
  102. $(PROJECT_ROOT)\boot\bd\daytona$(DBG_LDR)\$(O)\bd.lib \
  103. $(PROJECT_ROOT)\boot\efi\daytona$(DBG_LDR)\$(O)\efi.lib \
  104. $(PROJECT_ROOT)\boot\tftplib\$(O)\tftplib.lib \
  105. $(PROJECT_ROOT)\boot\bootssp\boot\$(O)\bootssp.lib \
  106. $(PROJECT_ROOT)\ntos\ke\up\$(O)\ke.lib \
  107. $(PROJECT_ROOT)\ntos\ex\up\$(O)\ex.lib \
  108. $(PROJECT_ROOT)\ntos\rtl\boot$(DBG_LDR)\$(O)\bldrrtl$(DBG_LDR).lib \
  109. $(PROJECT_ROOT)\ntos\config\boot\$(O)\bconfig.lib \
  110. $(DS_LIB_PATH)\rsa32.lib \
  111. $(SDK_LIB_PATH)\fdi.lib \
  112. $(SDK_LIB_PATH)\libcntpr.lib \
  113. $(DDK_LIB_PATH)\hal.lib
  114. $(O)\link.rsp : ..\makefile.inc
  115. type << > $@
  116. -subsystem:EFI_APPLICATION
  117. -nodefaultlib
  118. -debug:full
  119. -last:.rdata
  120. -last:.pdata
  121. -last:.comment
  122. -machine:IA64
  123. -base:0x1040000
  124. !IF "$(BUILD_DEBUG_LOADER)" != ""
  125. -fixed
  126. !ENDIF
  127. -opt:ref
  128. -opt:icf
  129. -entry:main
  130. -map
  131. -ignore:4049,4001,4217
  132. $(LINK_TIME_CODE_GENERATION_LINKER_FLAGS)
  133. $(LINK_LIB_IGNORE_FLAG)
  134. $(SETUPLDR_LIBS)
  135. <<NOKEEP
  136. $(O)\setupldr.res: $(O)\msgs.mc
  137. $(O)\setupldr$(DBG_LDR).efi: $(SETUPLDR_LIBS) makefile.inc $(O)\link.rsp
  138. -$(LINK_NAME) -out:$@ @$(O)\link.rsp
  139. $(O)\setupldr.dbg: $(O)\setupldr$(DBG_LDR).efi
  140. -pe2dbg $? $@
  141. SETUP_LIB_COMPONENTS = \
  142. $(PROJECT_ROOT)\boot\lib\daytona$(DBG_LDR)\$(O)\boot.lib \
  143. $(PROJECT_ROOT)\boot\efi\daytona$(DBG_LDR)\$(O)\efi.lib
  144. !ELSE
  145. SETUPLDR_LIBS=\
  146. $(O)\setupldr.lib \
  147. $(O)\setupldr.res \
  148. $(PROJECT_ROOT)\boot\lib\daytona$(DBG_LDR)\$(O)\boot.lib \
  149. $(PROJECT_ROOT)\boot\bd\daytona$(DBG_LDR)\$(O)\bd.lib \
  150. $(PROJECT_ROOT)\boot\tftplib\$(O)\tftplib.lib \
  151. $(PROJECT_ROOT)\boot\bootssp\boot\$(O)\bootssp.lib \
  152. $(PROJECT_ROOT)\ntos\ke\up\$(O)\ke.lib \
  153. $(PROJECT_ROOT)\ntos\rtl\boot$(DBG_LDR)\$(O)\bldrrtl$(DBG_LDR).lib \
  154. $(DS_LIB_PATH)\rsa32.lib \
  155. $(SDK_LIB_PATH)\fdi.lib \
  156. $(SDK_LIB_PATH)\libcntpr.lib
  157. $(O)\link.rsp : ..\makefile.inc
  158. type << >$@
  159. -rom
  160. -nodefaultlib
  161. -debugtype:cv
  162. -debug:full
  163. -align:0x200
  164. -fixed
  165. !if $(ALPHA)
  166. -base:0x80600000
  167. !elseif $(AXP64)
  168. -base:0xFFFFFFFF80600000
  169. !endif
  170. -entry:SlInit
  171. -map
  172. -opt:noicf
  173. $(LINK_TIME_CODE_GENERATION_LINKER_FLAGS)
  174. $(LINK_LIB_IGNORE_FLAG)
  175. $(SETUPLDR_LIBS)
  176. <<NOKEEP
  177. $(O)\setupldr.res: $(O)\msgs.mc
  178. $(O)\setupldr$(DBG_LDR): $(SETUPLDR_LIBS) makefile.inc $(O)\link.rsp
  179. -$(LINK_NAME) -out:$@ @$(O)\link.rsp
  180. !ENDIF