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.

124 lines
3.2 KiB

  1. # Copyright (C) by Microsoft Corporation.
  2. #
  3. # MAKEFILE for NT SU.X86
  4. #
  5. # Created:
  6. # 91.01.18
  7. #
  8. # Author:
  9. # Thomas Parslow
  10. #
  11. !IFNDEF LANGUAGE
  12. LANGUAGE=usa
  13. !ENDIF
  14. .SUFFIXES: .com .exe .obj .lst .c .asm .def .lnk .inc
  15. #
  16. # C Compiler Definitions
  17. # ~~~~~~~~~~~~~~~~~~~~~~
  18. # Environment Variable to set debugging level
  19. # LOADER_DEBUG is the debugging level for building the OS loader, SU module, and BFSD. It should be
  20. # set to either -DDEBUG0 or -DDEBUG1 to enable either level 1 or 2 debugging.
  21. #
  22. !IFDEF ALT_PROJECT_MAKE
  23. ALT_PROJECT_FLAGS=-D$(ALT_PROJECT)
  24. !ENDIF
  25. PATH= $(PATH_TOOLS16);$(PATH)
  26. CC= cl16
  27. CFLAGS= -W3 -G2s -Zelp $(LOADER_DEBUG) $(BLFLAGS) $(ALT_PROJECT_FLAGS)
  28. CINC= -I. -I$(SDK_INC_PATH) -I..\i386 -I..\i386\$(LANGUAGE)
  29. #
  30. # Assembler Definitions
  31. # ~~~~~~~~~~~~~~~~~~~~~
  32. ASM= masm386
  33. AFLAGS= -Mx -z $(LOADER_DEBUG) $(GAFLAGS) $(ALT_PROJECT_FLAGS)
  34. AINC= -I$(SDK_INC_PATH) -I..\i386
  35. #
  36. # Linker Definitions
  37. # ~~~~~~~~~~~~~~~~~~
  38. LINK=link16 /map:full
  39. LIBS=..\long.lib
  40. DEF=
  41. #
  42. # Rules for generating objects
  43. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  44. {..\i386\}.asm{$(_OBJ_DIR)\i386\}.obj:
  45. $(ASM) $(AFLAGS) $(AINC) $< $@;
  46. {..\i386\}.asm.lst:
  47. $(ASM) -l -n $(AFLAGS) $(AINC) $<;
  48. # $(CC) $(CFLAGS) $(CINC) -c $<
  49. {..\i386\}.c{$(_OBJ_DIR)\i386\}.obj:
  50. $(CC) $(CFLAGS) $(CINC) -Fo$@ -c $<
  51. {..\}.c{$(_OBJ_DIR)\i386\}.obj:
  52. $(CC) $(CFLAGS) $(CINC) -Fo$@ -c $<
  53. {..\i386\}.c.lst:
  54. $(CC) $(CFLAGS) -Fc$*.cod -Fo$*.obj -dos $(CINC) -c $<
  55. #
  56. # List of object files required
  57. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  58. OBJ= $(_OBJ_DIR)\i386\su.obj $(_OBJ_DIR)\i386\exp.obj $(_OBJ_DIR)\i386\sudata.obj \
  59. $(_OBJ_DIR)\i386\eisaa.obj $(_OBJ_DIR)\i386\a20.obj $(_OBJ_DIR)\i386\trap.obj $(_OBJ_DIR)\i386\eisac.obj \
  60. $(_OBJ_DIR)\i386\main.obj $(_OBJ_DIR)\i386\trapdump.obj $(_OBJ_DIR)\i386\display.obj $(_OBJ_DIR)\i386\backend.obj
  61. #
  62. # Dependencies
  63. # ~~~~~~~~~~~~
  64. $(_OBJ_DIR)\i386\startup.com: $(OBJ)
  65. $(_OBJ_DIR)\i386\exp.obj exp.lst: ..\i386\exp.asm ..\i386\su.inc ..\i386\macro.inc
  66. $(_OBJ_DIR)\i386\eisaa.obj eisaa.lst: ..\i386\eisa.inc ..\i386\eisaa.asm
  67. $(_OBJ_DIR)\i386\eisac.obj eisac.lst: ..\i386\eisa.h ..\i386\eisac.c
  68. $(_OBJ_DIR)\i386\su.obj su.lst: ..\i386\su.asm ..\i386\su.inc
  69. $(_OBJ_DIR)\i386\sudata.obj sudata.lst: ..\i386\sudata.asm ..\i386\su.inc ..\i386\memmap.inc
  70. $(_OBJ_DIR)\i386\main.obj main.lst: ..\i386\main.c ..\i386\global.h ..\i386\types.h ..\i386\constant.h
  71. $(_OBJ_DIR)\i386\trap.obj trap.lst: ..\i386\trap.asm ..\i386\su.inc
  72. $(_OBJ_DIR)\i386\trapdump.obj trapdump.lst: ..\i386\trapdump.c ..\i386\types.h ..\i386\constant.h
  73. $(_OBJ_DIR)\i386\display.obj display.lst: ..\i386\display.c ..\i386\types.h ..\i386\constant.h ..\i386\global.h
  74. $(_OBJ_DIR)\i386\backend.obj backend.lst: ..\i386\backend.asm
  75. $(_OBJ_DIR)\i386\startup.com: $(OBJ) $(DOBJ) $(LIBS)
  76. $(LINK) @<<
  77. /tiny /nod /noi +
  78. $(OBJ)
  79. $(_OBJ_DIR)\i386\startup.com
  80. $(_OBJ_DIR)\i386\startup.map
  81. $(LIBS)
  82. <<