1 #
   2 # Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
   3 # Copyright 2019 Red Hat, Inc.
   4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   5 #
   6 # This code is free software; you can redistribute it and/or modify it
   7 # under the terms of the GNU General Public License version 2 only, as
   8 # published by the Free Software Foundation.
   9 #
  10 # This code is distributed in the hope that it will be useful, but WITHOUT
  11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  13 # version 2 for more details (a copy is included in the LICENSE file that
  14 # accompanied this code).
  15 #
  16 # You should have received a copy of the GNU General Public License version
  17 # 2 along with this work; if not, write to the Free Software Foundation,
  18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19 #
  20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21 # or visit www.oracle.com if you need additional information or have any
  22 # questions.
  23 #
  24 #
  25 
  26 # Resource file containing VERSIONINFO
  27 Res_Files=.\version.res
  28 
  29 !include ..\generated\objfiles.make
  30 
  31 COMMONSRC=$(WorkSpace)\src
  32 ALTSRC=$(WorkSpace)\src\closed
  33 
  34 !ifdef RELEASE
  35 CXX_FLAGS=$(CXX_FLAGS) /D "PRODUCT"
  36 !else
  37 CXX_FLAGS=$(CXX_FLAGS) /D "ASSERT"
  38 !endif
  39 
  40 !if "$(Variant)" == "compiler1"
  41 CXX_FLAGS=$(CXX_FLAGS) /D "COMPILER1"
  42 !endif
  43 
  44 !if "$(Variant)" == "compiler2"
  45 CXX_FLAGS=$(CXX_FLAGS) /D "COMPILER2"
  46 !endif
  47 
  48 !if "$(Variant)" == "tiered"
  49 CXX_FLAGS=$(CXX_FLAGS) /D "COMPILER1" /D "COMPILER2"
  50 !endif
  51 
  52 !if "$(BUILDARCH)" == "i486"
  53 HOTSPOT_LIB_ARCH=i386
  54 !else
  55 HOTSPOT_LIB_ARCH=$(BUILDARCH)
  56 !endif
  57 
  58 # The following variables are defined in the generated local.make file.
  59 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_RELEASE_VERSION=\"$(HS_BUILD_VER)\""
  60 CXX_FLAGS=$(CXX_FLAGS) /D "JRE_RELEASE_VERSION=\"$(JRE_RELEASE_VER)\""
  61 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_LIB_ARCH=\"$(HOTSPOT_LIB_ARCH)\""
  62 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_BUILD_TARGET=\"$(BUILD_FLAVOR)\""
  63 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_BUILD_USER=\"$(BuildUser)\""
  64 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_VM_DISTRO=\"$(HOTSPOT_VM_DISTRO)\""
  65 CXX_FLAGS=$(CXX_FLAGS) /D "VENDOR=\"$(COMPANY_NAME)\""
  66 CXX_FLAGS=$(CXX_FLAGS) /D "VENDOR_URL=\"$(VENDOR_URL)\""
  67 CXX_FLAGS=$(CXX_FLAGS) /D "VENDOR_URL_BUG=\"$(VENDOR_URL_BUG)\""
  68 CXX_FLAGS=$(CXX_FLAGS) /D "VENDOR_URL_VM_BUG=\"$(VENDOR_URL_VM_BUG)\""
  69 
  70 CXX_FLAGS=$(CXX_FLAGS) $(CXX_INCLUDE_DIRS)
  71 
  72 # Define that so jni.h is on correct side
  73 CXX_FLAGS=$(CXX_FLAGS) /D "_JNI_IMPLEMENTATION_"
  74 
  75 !if "$(BUILDARCH)" == "ia64"
  76 STACK_SIZE="/STACK:1048576,262144"
  77 !else
  78 STACK_SIZE=
  79 !endif
  80 
  81 !if "$(BUILDARCH)" == "ia64"
  82 # AsyncGetCallTrace is not supported on IA64 yet
  83 AGCT_EXPORT=
  84 !else
  85 AGCT_EXPORT=/export:AsyncGetCallTrace
  86 !endif
  87 
  88 # If you modify exports below please do the corresponding changes in
  89 # src/share/tools/ProjectCreator/WinGammaPlatformVC7.java
  90 LD_FLAGS=$(LD_FLAGS) $(STACK_SIZE) /subsystem:windows /dll /base:0x8000000 \
  91   /export:JNI_GetDefaultJavaVMInitArgs       \
  92   /export:JNI_CreateJavaVM                   \
  93   /export:JVM_FindClassFromBootLoader        \
  94   /export:JNI_GetCreatedJavaVMs              \
  95   /export:jio_snprintf                       \
  96   /export:jio_printf                         \
  97   /export:jio_fprintf                        \
  98   /export:jio_vfprintf                       \
  99   /export:jio_vsnprintf                      \
 100   $(AGCT_EXPORT)                             \
 101   /export:JVM_GetVersionInfo                 \
 102   /export:JVM_GetThreadStateNames            \
 103   /export:JVM_GetThreadStateValues           \
 104   /export:JVM_InitAgentProperties
 105 
 106 CXX_INCLUDE_DIRS=/I "..\generated"
 107 
 108 !if exists($(ALTSRC)\share\vm)
 109 CXX_INCLUDE_DIRS=$(CXX_INCLUDE_DIRS) /I "$(ALTSRC)\share\vm"
 110 !endif
 111 
 112 !if exists($(ALTSRC)\os\windows\vm)
 113 CXX_INCLUDE_DIRS=$(CXX_INCLUDE_DIRS) /I "$(ALTSRC)\os\windows\vm"
 114 !endif
 115 
 116 !if exists($(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm)
 117 CXX_INCLUDE_DIRS=$(CXX_INCLUDE_DIRS) /I "$(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm"
 118 !endif
 119 
 120 !if exists($(ALTSRC)\cpu\$(Platform_arch)\vm)
 121 CXX_INCLUDE_DIRS=$(CXX_INCLUDE_DIRS) /I "$(ALTSRC)\cpu\$(Platform_arch)\vm"
 122 !endif
 123 
 124 CXX_INCLUDE_DIRS=$(CXX_INCLUDE_DIRS) \
 125   /I "$(COMMONSRC)\share\vm" \
 126   /I "$(COMMONSRC)\share\vm\precompiled" \
 127   /I "$(COMMONSRC)\share\vm\prims" \
 128   /I "$(COMMONSRC)\os\windows\vm" \
 129   /I "$(COMMONSRC)\os_cpu\windows_$(Platform_arch)\vm" \
 130   /I "$(COMMONSRC)\cpu\$(Platform_arch)\vm"
 131 
 132 CXX_DONT_USE_PCH=/D DONT_USE_PRECOMPILED_HEADER
 133 
 134 !if "$(USE_PRECOMPILED_HEADER)" != "0"
 135 CXX_USE_PCH=/Fp"vm.pch" /Yu"precompiled.hpp"
 136 !if "$(COMPILER_NAME)" == "VS2012" || "$(COMPILER_NAME)" == "VS2013" || "$(COMPILER_NAME)" == "VS2015" || "$(COMPILER_NAME)" == "VS2017"
 137 # VS2012 and later require this object file to be listed:
 138 LD_FLAGS=$(LD_FLAGS) _build_pch_file.obj
 139 !endif
 140 !else
 141 CXX_USE_PCH=$(CXX_DONT_USE_PCH)
 142 !endif
 143 
 144 # Where to find the source code for the virtual machine (is this used?)
 145 VM_PATH=../generated
 146 VM_PATH=$(VM_PATH);../generated/adfiles
 147 VM_PATH=$(VM_PATH);../generated/jvmtifiles
 148 VM_PATH=$(VM_PATH);../generated/jfrfiles
 149 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/c1
 150 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/compiler
 151 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/code
 152 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/interpreter
 153 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/ci
 154 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/classfile
 155 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/parallelScavenge
 156 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/shared
 157 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/parNew
 158 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/concurrentMarkSweep
 159 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/g1
 160 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_interface
 161 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/asm
 162 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/memory
 163 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/oops
 164 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/prims
 165 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/prims/wbtestmethods
 166 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/runtime
 167 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/services
 168 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/trace
 169 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/utilities
 170 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/libadt
 171 VM_PATH=$(VM_PATH);$(WorkSpace)/src/os/windows/vm
 172 VM_PATH=$(VM_PATH);$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm
 173 VM_PATH=$(VM_PATH);$(WorkSpace)/src/cpu/$(Platform_arch)/vm
 174 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/opto
 175 
 176 VM_PATH={$(VM_PATH)}
 177 
 178 # Special case files not using precompiled header files.
 179 
 180 c1_RInfo_$(Platform_arch).obj: $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp
 181          $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp
 182 
 183 os_windows.obj: $(WorkSpace)\src\os\windows\vm\os_windows.cpp
 184         $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\os_windows.cpp
 185 
 186 os_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
 187         $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
 188 
 189 osThread_windows.obj: $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
 190         $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
 191 
 192 conditionVar_windows.obj: $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
 193         $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
 194 
 195 getThread_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
 196         $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
 197 
 198 opcodes.obj: $(WorkSpace)\src\share\vm\opto\opcodes.cpp
 199         $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\share\vm\opto\opcodes.cpp
 200 
 201 bytecodeInterpreter.obj: $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
 202         $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
 203 
 204 bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
 205         $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
 206 
 207 iphlp_interface.obj: $(WorkSpace)\src\os\windows\vm\iphlp_interface.cpp
 208         $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\iphlp_interface.cpp
 209 
 210 os_perf_windows.obj: $(WorkSpace)\src\os\windows\vm\os_perf_windows.cpp
 211         $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\os_perf_windows.cpp
 212 
 213 # Default rules for the Virtual Machine
 214 {$(COMMONSRC)\share\vm\c1}.cpp.obj::
 215         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 216 
 217 {$(COMMONSRC)\share\vm\compiler}.cpp.obj::
 218         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 219 
 220 {$(COMMONSRC)\share\vm\code}.cpp.obj::
 221         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 222 
 223 {$(COMMONSRC)\share\vm\interpreter}.cpp.obj::
 224         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 225 
 226 {$(COMMONSRC)\share\vm\ci}.cpp.obj::
 227         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 228 
 229 {$(COMMONSRC)\share\vm\classfile}.cpp.obj::
 230         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 231 
 232 {$(COMMONSRC)\share\vm\gc_implementation\parallelScavenge}.cpp.obj::
 233         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 234 
 235 {$(COMMONSRC)\share\vm\gc_implementation\shared}.cpp.obj::
 236         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 237 
 238 {$(COMMONSRC)\share\vm\gc_implementation\parNew}.cpp.obj::
 239         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 240 
 241 {$(COMMONSRC)\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj::
 242         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 243 
 244 {$(COMMONSRC)\share\vm\gc_implementation\g1}.cpp.obj::
 245         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 246 
 247 {$(COMMONSRC)\share\vm\gc_interface}.cpp.obj::
 248         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 249 
 250 {$(COMMONSRC)\share\vm\asm}.cpp.obj::
 251         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 252 
 253 {$(COMMONSRC)\share\vm\memory}.cpp.obj::
 254         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 255 
 256 {$(COMMONSRC)\share\vm\oops}.cpp.obj::
 257         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 258 
 259 {$(COMMONSRC)\share\vm\prims}.cpp.obj::
 260         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 261 
 262 {$(COMMONSRC)\share\vm\prims\wbtestmethods}.cpp.obj::
 263         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 264 
 265 {$(COMMONSRC)\share\vm\runtime}.cpp.obj::
 266         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 267 
 268 {$(COMMONSRC)\share\vm\services}.cpp.obj::
 269         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 270 
 271 {$(COMMONSRC)\share\vm\trace}.cpp.obj::
 272         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 273 
 274 {$(COMMONSRC)\share\vm\utilities}.cpp.obj::
 275         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 276 
 277 {$(COMMONSRC)\share\vm\libadt}.cpp.obj::
 278         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 279 
 280 {$(COMMONSRC)\share\vm\opto}.cpp.obj::
 281         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 282 
 283 {$(COMMONSRC)\os\windows\vm}.cpp.obj::
 284         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 285 
 286 # This guy should remain a single colon rule because
 287 # otherwise we can't specify the output filename.
 288 {$(COMMONSRC)\os\windows\vm}.rc.res:
 289         @$(RC) $(RC_FLAGS) /fo"$@" $<
 290 
 291 {$(COMMONSRC)\cpu\$(Platform_arch)\vm}.cpp.obj::
 292         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 293 
 294 {$(COMMONSRC)\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj::
 295         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 296 
 297 {$(ALTSRC)\share\vm\c1}.cpp.obj::
 298         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 299 
 300 {$(ALTSRC)\share\vm\compiler}.cpp.obj::
 301         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 302 
 303 {$(ALTSRC)\share\vm\code}.cpp.obj::
 304         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 305 
 306 {$(ALTSRC)\share\vm\interpreter}.cpp.obj::
 307         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 308 
 309 {$(ALTSRC)\share\vm\ci}.cpp.obj::
 310         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 311 
 312 {$(ALTSRC)\share\vm\classfile}.cpp.obj::
 313         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 314 
 315 {$(ALTSRC)\share\vm\gc_implementation\parallelScavenge}.cpp.obj::
 316         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 317 
 318 {$(ALTSRC)\share\vm\gc_implementation\shared}.cpp.obj::
 319         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 320 
 321 {$(ALTSRC)\share\vm\gc_implementation\parNew}.cpp.obj::
 322         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 323 
 324 {$(ALTSRC)\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj::
 325         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 326 
 327 {$(ALTSRC)\share\vm\gc_implementation\g1}.cpp.obj::
 328         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 329 
 330 {$(ALTSRC)\share\vm\gc_interface}.cpp.obj::
 331         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 332 
 333 {$(ALTSRC)\share\vm\asm}.cpp.obj::
 334         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 335 
 336 {$(ALTSRC)\share\vm\memory}.cpp.obj::
 337         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 338 
 339 {$(ALTSRC)\share\vm\oops}.cpp.obj::
 340         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 341 
 342 {$(ALTSRC)\share\vm\prims}.cpp.obj::
 343         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 344 
 345 {$(ALTSRC)\share\vm\prims\wbtestmethods}.cpp.obj::
 346         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 347 
 348 {$(ALTSRC)\share\vm\runtime}.cpp.obj::
 349         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 350 
 351 {$(ALTSRC)\share\vm\services}.cpp.obj::
 352         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 353 
 354 {$(ALTSRC)\share\vm\trace}.cpp.obj::
 355         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 356 
 357 {$(ALTSRC)\share\vm\utilities}.cpp.obj::
 358         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 359 
 360 {$(ALTSRC)\share\vm\libadt}.cpp.obj::
 361         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 362 
 363 {$(ALTSRC)\share\vm\opto}.cpp.obj::
 364         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 365 
 366 {$(ALTSRC)\os\windows\vm}.cpp.obj::
 367         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 368 
 369 # otherwise we can't specify the output filename.
 370 {$(ALTSRC)\os\windows\vm}.rc.res:
 371         @$(RC) $(RC_FLAGS) /fo"$@" $<
 372 
 373 {$(ALTSRC)\cpu\$(Platform_arch)\vm}.cpp.obj::
 374         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 375 
 376 {$(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj::
 377         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 378 
 379 {..\generated\incls}.cpp.obj::
 380         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 381 
 382 {..\generated\adfiles}.cpp.obj::
 383         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 384 
 385 {..\generated\jvmtifiles}.cpp.obj::
 386         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 387 
 388 {..\generated\jfrfiles}.cpp.obj::
 389         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 390 
 391 {$(COMMONSRC)\share\vm\jfr}.cpp.obj::
 392         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 393 
 394 {$(COMMONSRC)\share\vm\jfr\dcmd}.cpp.obj::
 395         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 396 
 397 {$(COMMONSRC)\share\vm\jfr\instrumentation}.cpp.obj::
 398         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 399 
 400 {$(COMMONSRC)\share\vm\jfr\jni}.cpp.obj::
 401         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 402 
 403 {$(COMMONSRC)\share\vm\jfr\leakprofiler}.cpp.obj::
 404         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 405 
 406 {$(COMMONSRC)\share\vm\jfr\leakprofiler\chains}.cpp.obj::
 407         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 408 
 409 {$(COMMONSRC)\share\vm\jfr\leakprofiler\checkpoint}.cpp.obj::
 410         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 411 
 412 {$(COMMONSRC)\share\vm\jfr\leakprofiler\sampling}.cpp.obj::
 413         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 414 
 415 {$(COMMONSRC)\share\vm\jfr\leakprofiler\utilities}.cpp.obj::
 416         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 417 
 418 {$(COMMONSRC)\share\vm\jfr\metadata}.cpp.obj::
 419         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 420 
 421 {$(COMMONSRC)\share\vm\jfr\periodic}.cpp.obj::
 422         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 423 
 424 {$(COMMONSRC)\share\vm\jfr\periodic\sampling}.cpp.obj::
 425         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 426 
 427 {$(COMMONSRC)\share\vm\jfr\recorder}.cpp.obj::
 428         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 429 
 430 {$(COMMONSRC)\share\vm\jfr\recorder\checkpoint}.cpp.obj::
 431         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 432 
 433 {$(COMMONSRC)\share\vm\jfr\recorder\checkpoint\types}.cpp.obj::
 434         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 435 
 436 {$(COMMONSRC)\share\vm\jfr\recorder\checkpoint\types\traceid}.cpp.obj::
 437         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 438 
 439 {$(COMMONSRC)\share\vm\jfr\recorder\repository}.cpp.obj::
 440         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 441 
 442 {$(COMMONSRC)\share\vm\jfr\recorder\service}.cpp.obj::
 443         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 444 
 445 {$(COMMONSRC)\share\vm\jfr\recorder\stacktrace}.cpp.obj::
 446         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 447 
 448 {$(COMMONSRC)\share\vm\jfr\recorder\storage}.cpp.obj::
 449         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 450 
 451 {$(COMMONSRC)\share\vm\jfr\recorder\stringpool}.cpp.obj::
 452         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 453 
 454 {$(COMMONSRC)\share\vm\jfr\support}.cpp.obj::
 455         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 456 
 457 {$(COMMONSRC)\share\vm\jfr\utilities}.cpp.obj::
 458         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 459 
 460 {$(COMMONSRC)\share\vm\jfr\writers}.cpp.obj::
 461         $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
 462 
 463 default::
 464 
 465 _build_pch_file.obj:
 466         @echo #include "precompiled.hpp" > ../generated/_build_pch_file.cpp
 467         $(CXX) $(CXX_FLAGS) /Fp"vm.pch" /Yc"precompiled.hpp" /c ../generated/_build_pch_file.cpp
 468 
 469 !if "$(BUILD_WIN_SA)" != "1"
 470 BUILD_VM_DEF_FLAG=-nosa
 471 !endif
 472 
 473 vm.def: $(Obj_Files)
 474         sh $(WorkSpace)/make/windows/build_vm_def.sh $(BUILD_VM_DEF_FLAG)
 475