Source code of Windows XP (NT5)
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.3 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. USE_MSVCRT=1
  28. !ifdef BUILD_ALT_DIR
  29. ALT_PROJECT_TARGET=$(BUILD_ALT_DIR)
  30. !endif
  31. ## Note, .hlp file suggests that this be done in the environment
  32. ## and not in the sources file...
  33. ## "You usually do this in your environment, not in your sources file.
  34. ## You should do this on your build machine rather than on all of your
  35. ## developers' machines because they probably want the symbols there.
  36. ## It's easier to track. The debugger does not have to do all this hand
  37. ## waving to find the debug symbolic files that match the images themselves."
  38. NTDBGFILES=1
  39. NTDEBUGTYPE=both
  40. LINKER_FLAGS=-merge:.VTABLE=.text -merge:RODATA=.text -merge:.rdata=.text -merge:.data1=.data -merge:.SHARED1=.SHARED
  41. ##
  42. ## Default system libraries
  43. ##
  44. #
  45. # We'll use our own COFFBASE.TXT and PLACEFIL.TXT, thank you very much.
  46. #
  47. ## xxx: Need to merge coffbase.txt?
  48. !IFNDEF COFFBASE_TXT_FILE
  49. COFFBASE_TXT_FILE=$(IISBASEDIR)\coffbase.txt
  50. !ENDIF
  51. !IFNDEF BINPLACE_PLACEFILE
  52. BINPLACE_PLACEFILE=$(IISBASEDIR)\staxinc\build\placefil.txt
  53. !ENDIF
  54. # This used to have the -y option. Now, inetsrv binaries are binplaced
  55. # to retail, so the symbols should be binplaced to symbols\retail.
  56. # The -y switch causes the symbols to be binplaced to the wrong directory.
  57. ### BINPLACE_FLAGS=$(BINPLACE_FLAGS)
  58. # enable building legoizable binaries
  59. !IFNDEF IIS_NO_BBT
  60. NTBBT=1
  61. !ENDIF
  62. !IFNDEF IIS_NO_PDB
  63. USE_PDB=1
  64. !ENDIF
  65. !IF $(386)
  66. !IFNDEF IIS_NO_SYM
  67. USE_MAPSYM=1
  68. !ENDIF
  69. !ENDIF
  70. !if 0
  71. # (DISABLED)
  72. #
  73. # ENABLE WARNING LEVEL 3, TREAT WARNINGS AS ERRORS
  74. #
  75. !IFNDEF MSC_WARNING_LEVEL
  76. ## XXX: only enable /W3
  77. ##MSC_WARNING_LEVEL=/W3 /WX
  78. MSC_WARNING_LEVEL=/W3
  79. !ENDIF
  80. #
  81. # DON'T ALLOW ANYONE TO DISABLE WARNINGS AS ERRORS.
  82. #
  83. # IF ANY OF THE {PLATFORM}_WARNING_LEVEL MACROS ARE DEFINED WITHOUT
  84. # THE /WX SWITCH, APPEND /WX TO THE MACRO AND WHINE ABOUT IT.
  85. #
  86. !IFDEF 386_WARNING_LEVEL
  87. ! IF ("$(386_WARNING_LEVEL:/WX=X)" == "$(386_WARNING_LEVEL)") && ("$(386_WARNING_LEVEL:-WX=X)" == "$(386_WARNING_LEVEL)")
  88. ! MESSAGE 386_WARNING_LEVEL DEFINED WITHOUT /WX
  89. 386_WARNING_LEVEL=$(386_WARNING_LEVEL) /WX
  90. ! ENDIF
  91. !endif
  92. !ifdef AMD64_WARNING_LEVEL
  93. ! if ("$(AMD64_WARNING_LEVEL:/WX=x)" == "$(AMD64_WARNING_LEVEL)") && ("$(AMD64_WARNING_LEVEL:-WX=x)" == "$(AMD64_WARNING_LEVEL)")
  94. ! message AMD64_WARNING_LEVEL defined without /WX
  95. AMD64_WARNING_LEVEL=$(AMD64_WARNING_LEVEL) /WX
  96. ! endif
  97. !endif
  98. !ifdef IA64_WARNING_LEVEL
  99. ! if ("$(IA64_WARNING_LEVEL:/WX=x)" == "$(IA64_WARNING_LEVEL)") && ("$(IA64_WARNING_LEVEL:-WX=x)" == "$(IA64_WARNING_LEVEL)")
  100. ! message IA64_WARNING_LEVEL defined without /WX
  101. IA64_WARNING_LEVEL=$(IA64_WARNING_LEVEL) /WX
  102. ! endif
  103. !endif
  104. !endif
  105. #
  106. # Win95 Chokes if the subsystem version is 5.00
  107. #
  108. ###SUBSYSTEM_VERSION=5.00