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