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.

145 lines
3.1 KiB

  1. ##########################################################################
  2. #
  3. # Microsoft Confidential
  4. # Copyright (C) Microsoft Corporation 1991-96
  5. # All Rights Reserved.
  6. #
  7. ##########################################################################
  8. #
  9. # Common include file 'sources' files ATL controls in the controls project.
  10. #
  11. #
  12. # Required definitions:
  13. #
  14. # CONTROLS_DIR
  15. # Path to controls root.
  16. #
  17. # FREEBUILD
  18. # Set by makefile.def file. One of the following:
  19. # 0 - build debug
  20. # 1 - build retail
  21. #
  22. #
  23. # Definitions used if defined:
  24. #
  25. # USE_LEGO
  26. # Define lego macros
  27. #
  28. # TARGET_WIN95
  29. # Build component explicitly for the Win95 platform. If this is
  30. # not defined, default is NT or both.
  31. #
  32. # TARGET_BOTH
  33. # Build component to run on both platforms.
  34. #
  35. # FULL_DEBUG
  36. # If set to 1, then debug builds will also have FULL_DEBUG defined.
  37. # Retail builds unaffected.
  38. #
  39. # MEASURE_PERF
  40. # If set to 1, enables performance timing code for both debug and
  41. # retail builds. This code squirts the timings for interesting
  42. # events to the debug terminal.
  43. #
  44. !if !defined(CONTROLS_DIR)
  45. !error CONTROLS_DIR must be defined in sources file
  46. !endif
  47. #
  48. # Set private paths
  49. #
  50. INCLUDES = \
  51. $(SDK_INC_PATH)\atl21;\
  52. $(INCLUDES)
  53. #
  54. # Set common options
  55. #
  56. # Defining this allows windows.h to include other headers
  57. NOT_LEAN_AND_MEAN= 1
  58. # Don't link to the runtime libs
  59. USE_NOLIBS = 1
  60. # Don't link to NTDLL if this runs on both platforms
  61. !ifdef TARGET_BOTH
  62. NO_NTDLL=1
  63. !endif
  64. !if defined(TARGET_WIN95)
  65. # Don't define WINNT
  66. CHICAGO_PRODUCT = 1
  67. !endif
  68. UMTYPE = windows
  69. #
  70. # Lego options
  71. #
  72. !if defined(USE_LEGO)
  73. NTBBT = 1
  74. NTPROFILEINPUT = 1
  75. !endif
  76. #
  77. # Additional compiler flags
  78. #
  79. C_DEFINES = $(C_DEFINES) -DWIN32 -D_WIN32
  80. !if !defined(TARGET_WIN95)
  81. C_DEFINES = $(C_DEFINES) -DNT
  82. ! if !defined(NOT_UNICODE)
  83. C_DEFINES = $(C_DEFINES) -DUNICODE -D_UNICODE
  84. ! endif
  85. !endif
  86. !if "$(FREEBUILD)" == "0"
  87. C_DEFINES = $(C_DEFINES) -DDEBUG
  88. LINKER_NOICF = 1 # ICF is s-l-o-w
  89. # Check for missing PURE directives in interface decls (debug only)
  90. C_DEFINES = $(C_DEFINES) -DNO_NOVTABLE
  91. # Define FULL_DEBUG for asserts to break by default
  92. ! if "$(FULL_DEBUG)" == "1"
  93. C_DEFINES = $(C_DEFINES) -DFULL_DEBUG
  94. ! endif
  95. !endif
  96. !if "$(MEASURE_PERF)" == "1"
  97. C_DEFINES = $(C_DEFINES) -DMEASURE_PERF
  98. !endif
  99. !if "$(NO_PRIVATE_HEADERS)" == "1"
  100. C_DEFINES = $(C_DEFINES) -DNO_PRIVATE_HEADERS
  101. !endif
  102. # This define helps us distinguish our development environment
  103. C_DEFINES = $(C_DEFINES) -DWINNT_ENV
  104. # Make warnings equivalent to errors
  105. !if !defined(MSC_WARNING_LEVEL)
  106. MSC_WARNING_LEVEL= /W3
  107. !endif
  108. MSC_WARNING_LEVEL= $(MSC_WARNING_LEVEL) /WX
  109. !if defined(TARGET_WIN95) || defined(TARGET_BOTH)
  110. USE_MAPSYM = 1
  111. !endif
  112. !if !defined(CLEANINF_FLAGS)
  113. # Cleaninf flags
  114. CLEANINF_FLAGS = -w
  115. !endif
  116. # Cleaninf utility
  117. CLEANINF = cleaninf.exe $(CLEANINF_FLAGS)