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.

175 lines
7.4 KiB

  1. !include master.env
  2. #
  3. # Libs to link together a FW image
  4. #
  5. EFI_LIBS = \
  6. output\lib\lib.lib
  7. #
  8. # We sometimes link the shell's tools into this build, so include
  9. # libs for all the tools and the shell.
  10. #
  11. # (Note this is for debugging, and a real build should remove
  12. # this as to be sure it's not mistakenly including any parts of
  13. # the shell)
  14. #
  15. !IF "$(EFI_BOOTSHELL)" == "YES"
  16. EFI_LIBS = $(EFI_LIBS) \
  17. output\shell\newshell\newshell.lib \
  18. output\shell\shellenv\shellenv.lib \
  19. output\shell\lib\lib.lib \
  20. output\shell\rm\rm.lib \
  21. output\shell\mkdir\mkdir.lib \
  22. output\shell\ls\ls.lib \
  23. output\shell\mode\mode.lib \
  24. output\shell\cp\cp.lib \
  25. output\shell\memmap\memmap.lib \
  26. output\shell\type\type.lib \
  27. output\shell\load\load.lib \
  28. output\shell\dmpstore\dmpstore.lib \
  29. output\shell\ver\ver.lib \
  30. output\shell\attrib\attrib.lib \
  31. output\shell\mv\mv.lib \
  32. output\shell\date\date.lib \
  33. output\shell\time\time.lib \
  34. output\shell\stall\stall.lib \
  35. output\shell\reset\reset.lib \
  36. output\shell\debug\debug.lib \
  37. output\shell\iomod\iomod.lib \
  38. output\shell\mem\mem.lib \
  39. output\shell\pci\pci.lib \
  40. output\shell\err\err.lib \
  41. output\shell\vol\vol.lib \
  42. output\shell\comp\comp.lib \
  43. output\shell\cls\cls.lib \
  44. output\shell\bcfg\bcfg.lib \
  45. output\shell\edit\edit.lib \
  46. !ENDIF
  47. #
  48. #
  49. #
  50. TARGET_BASENAME=IA-32Emb
  51. OUTPUTS=bin\$(TARGET_BASENAME).exe
  52. all: makemaker
  53. $(OUTPUTS): $(EFI_LIBS)
  54. $(LINK) $(L_FLAGS) $(NT_LIBS) $(EFI_LIBS) /entry:MainEntry /out:$@ /pdb:$*.pdb
  55. #
  56. # Everything to build
  57. #
  58. banner:
  59. -type $(EFI_SOURCE)\corefw\fw\platform\BuildTip\IA-32Emb\banner.c > $(EFI_SOURCE)\corefw\fw\platform\BuildTip\IA-32Emb\banner.xxx
  60. -del $(EFI_SOURCE)\corefw\fw\platform\BuildTip\IA-32Emb\banner.c
  61. -rename $(EFI_SOURCE)\corefw\fw\platform\BuildTip\IA-32Emb\banner.xxx banner.c
  62. makemaker:
  63. $(BUILD_TOOL)\genmake
  64. $(MAKE) -f output\lib\makefile all
  65. !IF "$(EFI_BOOTSHELL)" == "YES"
  66. $(MAKE) -f output\shell\lib\makefile all
  67. $(MAKE) -f output\shell\shellenv\makefile all
  68. $(MAKE) -f output\shell\newshell\makefile all
  69. $(MAKE) -f output\shell\ls\makefile all
  70. $(MAKE) -f output\shell\mode\makefile all
  71. $(MAKE) -f output\shell\mkdir\makefile all
  72. $(MAKE) -f output\shell\rm\makefile all
  73. $(MAKE) -f output\shell\cp\makefile all
  74. $(MAKE) -f output\shell\comp\makefile all
  75. $(MAKE) -f output\shell\type\makefile all
  76. $(MAKE) -f output\shell\memmap\makefile all
  77. $(MAKE) -f output\shell\dmpstore\makefile all
  78. $(MAKE) -f output\shell\load\makefile all
  79. $(MAKE) -f output\shell\getmtc\makefile all
  80. $(MAKE) -f output\shell\debug\makefile all
  81. $(MAKE) -f output\shell\pci\makefile all
  82. $(MAKE) -f output\shell\mem\makefile all
  83. $(MAKE) -f output\shell\iomod\makefile all
  84. $(MAKE) -f output\shell\ver\makefile all
  85. $(MAKE) -f output\shell\date\makefile all
  86. $(MAKE) -f output\shell\time\makefile all
  87. $(MAKE) -f output\shell\reset\makefile all
  88. $(MAKE) -f output\shell\stall\makefile all
  89. $(MAKE) -f output\shell\attrib\makefile all
  90. $(MAKE) -f output\shell\setsize\makefile all
  91. $(MAKE) -f output\shell\touch\makefile all
  92. $(MAKE) -f output\shell\mv\makefile all
  93. $(MAKE) -f output\shell\err\makefile all
  94. $(MAKE) -f output\shell\vol\makefile all
  95. $(MAKE) -f output\shell\bcfg\makefile all
  96. $(MAKE) -f output\shell\cls\makefile all
  97. $(MAKE) -f output\shell\edit\makefile all
  98. !ENDIF
  99. bsc:
  100. - dir /s /b *.sbr > temp.rm
  101. $(BSCMAKE) /n /o bin\$(TARGET_BASENAME).bsc "@temp.rm"
  102. - del temp.rm
  103. clean:
  104. - rd /s /q output
  105. - rd /s /q bin
  106. - del VC?0.*
  107. - del $(TARGET_BASENAME).*
  108. floppy: bin\efildr bin\bootsect.com
  109. - copy bin\efildr a:\efildr
  110. bin\efildr.dll: output\corefw\fw\platform\BuildTip\ia-32emb\efildr.obj output\lib\lib.lib
  111. link /nologo /MACHINE:IX86 /subsystem:console /NODEFAULTLIB /INCREMENTAL:NO /MAP /FIXED /BASE:0x00400000 /ENTRY:EfiLoader output\corefw\fw\platform\BuildTip\ia-32emb\efildr.obj output\lib\lib.lib /OUT:bin\efildr.dll
  112. bin\efildr.efi: bin\efildr.dll
  113. $(FWIMAGE) app bin\efildr.dll bin\efildr.efi
  114. bin\IA-32Emb.efi: bin\IA-32Emb.exe
  115. $(FWIMAGE) app bin\IA-32Emb.exe bin\IA-32Emb.efi
  116. bin\efildr32: bin\efildr.efi bin\IA-32Emb.efi
  117. $(BUILD_TOOL)\efildrimage bin\efildr32 bin\efildr.efi bin\IA-32Emb.efi
  118. bin\bootsect.com: output\corefw\fw\platform\BuildTip\ia-32emb\ia32\bootsect.obj
  119. $(MASMLINK) /tiny output\corefw\fw\platform\BuildTip\ia-32emb\ia32\bootsect.obj,bin\bootsect.com,bin\bootsect.map,,,
  120. bin\start.com: output\corefw\fw\platform\BuildTip\ia-32emb\ia32\start.obj
  121. $(MASMLINK) /tiny output\corefw\fw\platform\BuildTip\ia-32emb\ia32\start.obj,bin\start.com,bin\start.map,,,
  122. bin\efi32.com: output\corefw\fw\platform\BuildTip\ia-32emb\ia32\efi32.obj
  123. $(MASMLINK) /tiny output\corefw\fw\platform\BuildTip\ia-32emb\ia32\efi32.obj,bin\efi32.com,bin\efi32.map,,,
  124. bin\efi32.com2: bin\efi32.com
  125. $(BUILD_TOOL)\splitfile bin\efi32.com 135168
  126. bin\efildr: bin\start.com bin\efi32.com2 bin\efildr32
  127. copy /b bin\start.com+bin\efi32.com2+bin\efildr32 bin\efildr
  128. createfloppy:
  129. - $(BUILD_TOOL)\dskimage $(BUILD_TOOL)\efiboot.img a: /f1.44
  130. floppytools:
  131. - copy bin\attrib.efi a:
  132. - copy bin\comp.efi a:
  133. - copy bin\cp.efi a:
  134. - copy bin\date.efi a:
  135. - copy bin\load.efi a:
  136. - copy bin\ls.efi a:
  137. - copy bin\memmap.efi a:
  138. - copy bin\mkdir.efi a:
  139. - copy bin\mode.efi a:
  140. - copy bin\mv.efi a:
  141. - copy bin\nshell.efi a:
  142. - copy bin\shellenv.efi a:
  143. - copy bin\reset.efi a:
  144. - copy bin\rm.efi a:
  145. - copy bin\time.efi a:
  146. - copy bin\type.efi a:
  147. - copy bin\ver.efi a:
  148. - copy bin\vol.efi a: