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.

117 lines
3.2 KiB

  1. SERVICES_DIR=$(O)
  2. SERVICES_TAB=$(SERVICES_DIR)\services.tab
  3. $(SERVICES_TAB): ..\services.tab
  4. @echo Creating $@ from $**
  5. $(C_PREPROCESSOR) $** > $@
  6. $(O)\sysstubs.obj: $(O)\sysstubs.$(ASM_SUFFIX)
  7. $(O)\systable.obj: $(O)\systable.$(ASM_SUFFIX)
  8. $(O)\sysstubs.$(ASM_SUFFIX) $(O)\systable.$(ASM_SUFFIX): $(SERVICES_TAB) ..\$(TARGET_DIRECTORY)\table.stb ..\$(TARGET_DIRECTORY)\services.stb
  9. gensrv -d $(O) -e $(ASM_SUFFIX) -g $(SERVICES_DIR) $(TARGET_BRACES) -s ..\$(TARGET_DIRECTORY)
  10. #
  11. # "nmake genxx" will generate platform-dependent include files
  12. #
  13. !if "$(TARGET_DIRECTORY)"=="i386"
  14. HAL_NAME=hal386
  15. KS_NAME=ks386
  16. !else
  17. HAL_NAME=hal$(TARGET_DIRECTORY)
  18. KS_NAME=ks$(TARGET_DIRECTORY)
  19. !endif
  20. KS_TARGET =$(SDK_INC_PATH)\$(KS_NAME).$(ASM_INCLUDE_SUFFIX)
  21. HAL_TARGET_PATH=$(PROJECT_INC_PATH)
  22. HAL_TARGET=$(HAL_TARGET_PATH)\$(HAL_NAME).$(ASM_INCLUDE_SUFFIX)
  23. HAL_TARGET_PATH_ALT=$(HALKIT_INC_PATH)
  24. HAL_TARGET_ALT=$(HAL_TARGET_PATH_ALT)\$(HAL_NAME).$(ASM_INCLUDE_SUFFIX)
  25. PROCESSOR_TARGET_PATH_ALT=$(PROCESSOR_INC_PATH)
  26. PROCESSOR_TARGET_ALT=$(PROCESSOR_TARGET_PATH_ALT)\$(HAL_NAME).$(ASM_INCLUDE_SUFFIX)
  27. KS_TARGET_OBJ=$(O)\$(KS_NAME).$(ASM_INCLUDE_SUFFIX)
  28. HAL_TARGET_OBJ=$(O)\$(HAL_NAME).$(ASM_INCLUDE_SUFFIX)
  29. genxx: $(KS_TARGET) $(HAL_TARGET)
  30. #
  31. # If the following invocation of genxx fails, make sure you have a
  32. # current version of genxx.
  33. #
  34. $(KS_TARGET_OBJ) $(HAL_TARGET_OBJ): \
  35. ..\$(TARGET_DIRECTORY)\gen$(TARGET_DIRECTORY).m4 \
  36. ..\genxx.h \
  37. ..\genxx.inc \
  38. $(DDK_INC_PATH)\ntddk.h
  39. set PASS0ONLY=
  40. -mkdir $(HAL_TARGET_PATH) >nul 2>nul
  41. -mkdir $(O) >nul 2>nul
  42. -erase $(O)\gen$(TARGET_DIRECTORY).obj >nul 2>nul
  43. -erase $(O)\gen$(TARGET_DIRECTORY).c >nul 2>nul
  44. m4 < ..\$(TARGET_DIRECTORY)\gen$(TARGET_DIRECTORY).m4 \
  45. > $(O)\gen$(TARGET_DIRECTORY).c
  46. nmake -l $(O)\gen$(TARGET_DIRECTORY).obj NTNOPCH=1 FORCENATIVEOBJECT=1
  47. genxx -k$(KS_TARGET_OBJ) -h$(HAL_TARGET_OBJ) -$(TARGET_DIRECTORY)
  48. $(KS_TARGET): $(KS_TARGET_OBJ)
  49. $(PUBLISH_CMD) {$**=$@}
  50. $(HAL_TARGET): $(HAL_TARGET_OBJ)
  51. $(PUBLISH_CMD) {$**=$@;$(HAL_TARGET_ALT);$(PROCESSOR_TARGET_ALT)}
  52. !if $(386)
  53. $(O)\$(TARGETNAME).lib : $(O)\instemul.org $(O)\emv86.org $(O)\emxcptn.org $(O)\trap.org
  54. INSTEMUL_HANDLERS= \
  55. GetVirtualBits_Handler \
  56. SetVirtualBits_Handler \
  57. VdmSegNotPres_ExceptionHandler \
  58. PushIntExceptionHandler \
  59. SwitchToHandlerStack_fault \
  60. GetHandlerAddress_fault \
  61. perr_fault \
  62. perr1_fault
  63. EMV86_HANDLERS= \
  64. oinnvuserrefs_fault \
  65. diafault \
  66. scr_fault \
  67. EMXCPTN_HANDLERS= \
  68. stnpx_30 \
  69. npxts_30
  70. TRAP_HANDLERS= \
  71. Kt6_ExceptionHandler \
  72. Ktd_ExceptionHandler
  73. $(O)\instemul.org : $(O)\instemul.obj
  74. copy $** $@
  75. sxgen /verbose /in:$@ /out:$** $(INSTEMUL_HANDLERS)
  76. touch $@
  77. $(O)\emv86.org : $(O)\emv86.obj
  78. copy $** $@
  79. sxgen /verbose /in:$@ /out:$** $(EMV86_HANDLERS)
  80. touch $@
  81. $(O)\emxcptn.org : $(O)\emxcptn.obj
  82. copy $** $@
  83. sxgen /verbose /in:$@ /out:$** $(EMXCPTN_HANDLERS)
  84. touch $@
  85. $(O)\trap.org : $(O)\trap.obj
  86. copy $** $@
  87. sxgen /verbose /in:$@ /out:$** $(TRAP_HANDLERS)
  88. touch $@
  89. !endif