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.

142 lines
3.5 KiB

  1. #
  2. # Places all of the internet binaries into the inetsrv tree.
  3. # Also establishes some standard conventions used across the project.
  4. #
  5. #
  6. # Override IISBASEDIR if you're one of those weirdos that didn't
  7. # enlist the IIS project into the correct directory.
  8. #
  9. !IFNDEF IISBASEDIR
  10. IISBASEDIR=$(PROJECT_ROOT)\iis
  11. !ENDIF
  12. STAXBASE=$(IISBASEDIR)\svcs
  13. STAXINC=$(IISBASEDIR)\staxinc
  14. STAXCORE=$(STAXBASE)\staxcore
  15. STAXCORETARGET=$(STAXCORE)\$(_OBJ_DIR)
  16. STAXCORELIBPATH=$(STAXCORETARGET)\$(TARGET_DIRECTORY)
  17. !if [mkdir $(STAXCORETARGET)\$(TARGET_DIRECTORY)]
  18. !endif
  19. !if "$(FREEBUILD)"=="1"
  20. ### message **** FREE BUILD ***
  21. STAXFLAVOR=rtl
  22. !else
  23. ### message **** DEBUG BUILD ***
  24. ### DEBUG_CRTS=1
  25. STAXFLAVOR=dbg
  26. !endif
  27. BUFFER_OVERFLOW_CHECKS=1
  28. USE_MSVCRT=1
  29. !ifdef BUILD_ALT_DIR
  30. ALT_PROJECT_TARGET=$(BUILD_ALT_DIR)
  31. !endif
  32. ## Note, .hlp file suggests that this be done in the environment
  33. ## and not in the sources file...
  34. ## "You usually do this in your environment, not in your sources file.
  35. ## You should do this on your build machine rather than on all of your
  36. ## developers' machines because they probably want the symbols there.
  37. ## It's easier to track. The debugger does not have to do all this hand
  38. ## waving to find the debug symbolic files that match the images themselves."
  39. NTDBGFILES=1
  40. NTDEBUGTYPE=both
  41. LINKER_FLAGS=-merge:.VTABLE=.text -merge:RODATA=.text -merge:.rdata=.text -merge:.data1=.data -merge:.SHARED1=.SHARED
  42. ##
  43. ## Default system libraries
  44. ##
  45. #
  46. # We'll use our own COFFBASE.TXT and PLACEFIL.TXT, thank you very much.
  47. #
  48. ## xxx: Need to merge coffbase.txt?
  49. !IFNDEF COFFBASE_TXT_FILE
  50. COFFBASE_TXT_FILE=$(IISBASEDIR)\coffbase.txt
  51. !ENDIF
  52. !IFNDEF BINPLACE_PLACEFILE
  53. BINPLACE_PLACEFILE=$(IISBASEDIR)\staxinc\build\placefil.txt
  54. !ENDIF
  55. # This used to have the -y option. Now, inetsrv binaries are binplaced
  56. # to retail, so the symbols should be binplaced to symbols\retail.
  57. # The -y switch causes the symbols to be binplaced to the wrong directory.
  58. ### BINPLACE_FLAGS=$(BINPLACE_FLAGS)
  59. # enable building legoizable binaries
  60. !IFNDEF IIS_NO_BBT
  61. NTBBT=1
  62. !ENDIF
  63. !IFNDEF IIS_NO_PDB
  64. USE_PDB=1
  65. !ENDIF
  66. !IF $(386)
  67. !IFNDEF IIS_NO_SYM
  68. USE_MAPSYM=1
  69. !ENDIF
  70. !ENDIF
  71. !if 0
  72. # (DISABLED)
  73. #
  74. # ENABLE WARNING LEVEL 3, TREAT WARNINGS AS ERRORS
  75. #
  76. !IFNDEF MSC_WARNING_LEVEL
  77. ## XXX: only enable /W3
  78. ##MSC_WARNING_LEVEL=/W3 /WX
  79. MSC_WARNING_LEVEL=/W3
  80. !ENDIF
  81. #
  82. # DON'T ALLOW ANYONE TO DISABLE WARNINGS AS ERRORS.
  83. #
  84. # IF ANY OF THE {PLATFORM}_WARNING_LEVEL MACROS ARE DEFINED WITHOUT
  85. # THE /WX SWITCH, APPEND /WX TO THE MACRO AND WHINE ABOUT IT.
  86. #
  87. !IFDEF 386_WARNING_LEVEL
  88. ! IF ("$(386_WARNING_LEVEL:/WX=X)" == "$(386_WARNING_LEVEL)") && ("$(386_WARNING_LEVEL:-WX=X)" == "$(386_WARNING_LEVEL)")
  89. ! MESSAGE 386_WARNING_LEVEL DEFINED WITHOUT /WX
  90. 386_WARNING_LEVEL=$(386_WARNING_LEVEL) /WX
  91. ! ENDIF
  92. !endif
  93. !ifdef AMD64_WARNING_LEVEL
  94. ! if ("$(AMD64_WARNING_LEVEL:/WX=x)" == "$(AMD64_WARNING_LEVEL)") && ("$(AMD64_WARNING_LEVEL:-WX=x)" == "$(AMD64_WARNING_LEVEL)")
  95. ! message AMD64_WARNING_LEVEL defined without /WX
  96. AMD64_WARNING_LEVEL=$(AMD64_WARNING_LEVEL) /WX
  97. ! endif
  98. !endif
  99. !ifdef IA64_WARNING_LEVEL
  100. ! if ("$(IA64_WARNING_LEVEL:/WX=x)" == "$(IA64_WARNING_LEVEL)") && ("$(IA64_WARNING_LEVEL:-WX=x)" == "$(IA64_WARNING_LEVEL)")
  101. ! message IA64_WARNING_LEVEL defined without /WX
  102. IA64_WARNING_LEVEL=$(IA64_WARNING_LEVEL) /WX
  103. ! endif
  104. !endif
  105. !endif
  106. #
  107. # Win95 Chokes if the subsystem version is 5.00
  108. #
  109. ###SUBSYSTEM_VERSION=5.00