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/tracefiles 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 !if exists($(ALTSRC)\share\vm\jfr) 177 VM_PATH=$(VM_PATH);$(ALTSRC)/share/vm/jfr 178 VM_PATH=$(VM_PATH);$(ALTSRC)/share/vm/jfr/buffers 179 !endif 180 181 VM_PATH={$(VM_PATH)} 182 183 # Special case files not using precompiled header files. 184 185 c1_RInfo_$(Platform_arch).obj: $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp 186 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp 187 188 os_windows.obj: $(WorkSpace)\src\os\windows\vm\os_windows.cpp 189 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\os_windows.cpp 190 191 os_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp 192 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp 193 194 osThread_windows.obj: $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp 195 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp 196 197 conditionVar_windows.obj: $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp 198 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp 199 200 getThread_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp 201 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp 202 203 opcodes.obj: $(WorkSpace)\src\share\vm\opto\opcodes.cpp 204 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\share\vm\opto\opcodes.cpp 205 206 bytecodeInterpreter.obj: $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp 207 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp 208 209 bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp 210 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp 211 212 # Default rules for the Virtual Machine 213 {$(COMMONSRC)\share\vm\c1}.cpp.obj:: 214 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 215 216 {$(COMMONSRC)\share\vm\compiler}.cpp.obj:: 217 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 218 219 {$(COMMONSRC)\share\vm\code}.cpp.obj:: 220 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 221 222 {$(COMMONSRC)\share\vm\interpreter}.cpp.obj:: 223 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 224 225 {$(COMMONSRC)\share\vm\ci}.cpp.obj:: 226 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 227 228 {$(COMMONSRC)\share\vm\classfile}.cpp.obj:: 229 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 230 231 {$(COMMONSRC)\share\vm\gc_implementation\parallelScavenge}.cpp.obj:: 232 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 233 234 {$(COMMONSRC)\share\vm\gc_implementation\shared}.cpp.obj:: 235 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 236 237 {$(COMMONSRC)\share\vm\gc_implementation\parNew}.cpp.obj:: 238 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 239 240 {$(COMMONSRC)\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj:: 241 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 242 243 {$(COMMONSRC)\share\vm\gc_implementation\g1}.cpp.obj:: 244 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 245 246 {$(COMMONSRC)\share\vm\gc_interface}.cpp.obj:: 247 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 248 249 {$(COMMONSRC)\share\vm\asm}.cpp.obj:: 250 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 251 252 {$(COMMONSRC)\share\vm\memory}.cpp.obj:: 253 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 254 255 {$(COMMONSRC)\share\vm\oops}.cpp.obj:: 256 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 257 258 {$(COMMONSRC)\share\vm\prims}.cpp.obj:: 259 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 260 261 {$(COMMONSRC)\share\vm\prims\wbtestmethods}.cpp.obj:: 262 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 263 264 {$(COMMONSRC)\share\vm\runtime}.cpp.obj:: 265 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 266 267 {$(COMMONSRC)\share\vm\services}.cpp.obj:: 268 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 269 270 {$(COMMONSRC)\share\vm\trace}.cpp.obj:: 271 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 272 273 {$(COMMONSRC)\share\vm\utilities}.cpp.obj:: 274 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 275 276 {$(COMMONSRC)\share\vm\libadt}.cpp.obj:: 277 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 278 279 {$(COMMONSRC)\share\vm\opto}.cpp.obj:: 280 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 281 282 {$(COMMONSRC)\os\windows\vm}.cpp.obj:: 283 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 284 285 # This guy should remain a single colon rule because 286 # otherwise we can't specify the output filename. 287 {$(COMMONSRC)\os\windows\vm}.rc.res: 288 @$(RC) $(RC_FLAGS) /fo"$@" $< 289 290 {$(COMMONSRC)\cpu\$(Platform_arch)\vm}.cpp.obj:: 291 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 292 293 {$(COMMONSRC)\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj:: 294 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 295 296 {$(ALTSRC)\share\vm\c1}.cpp.obj:: 297 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 298 299 {$(ALTSRC)\share\vm\compiler}.cpp.obj:: 300 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 301 302 {$(ALTSRC)\share\vm\code}.cpp.obj:: 303 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 304 305 {$(ALTSRC)\share\vm\interpreter}.cpp.obj:: 306 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 307 308 {$(ALTSRC)\share\vm\ci}.cpp.obj:: 309 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 310 311 {$(ALTSRC)\share\vm\classfile}.cpp.obj:: 312 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 313 314 {$(ALTSRC)\share\vm\gc_implementation\parallelScavenge}.cpp.obj:: 315 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 316 317 {$(ALTSRC)\share\vm\gc_implementation\shared}.cpp.obj:: 318 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 319 320 {$(ALTSRC)\share\vm\gc_implementation\parNew}.cpp.obj:: 321 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 322 323 {$(ALTSRC)\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj:: 324 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 325 326 {$(ALTSRC)\share\vm\gc_implementation\g1}.cpp.obj:: 327 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 328 329 {$(ALTSRC)\share\vm\gc_interface}.cpp.obj:: 330 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 331 332 {$(ALTSRC)\share\vm\asm}.cpp.obj:: 333 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 334 335 {$(ALTSRC)\share\vm\memory}.cpp.obj:: 336 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 337 338 {$(ALTSRC)\share\vm\oops}.cpp.obj:: 339 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 340 341 {$(ALTSRC)\share\vm\prims}.cpp.obj:: 342 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 343 344 {$(ALTSRC)\share\vm\prims\wbtestmethods}.cpp.obj:: 345 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 346 347 {$(ALTSRC)\share\vm\runtime}.cpp.obj:: 348 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 349 350 {$(ALTSRC)\share\vm\services}.cpp.obj:: 351 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 352 353 {$(ALTSRC)\share\vm\trace}.cpp.obj:: 354 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 355 356 {$(ALTSRC)\share\vm\utilities}.cpp.obj:: 357 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 358 359 {$(ALTSRC)\share\vm\libadt}.cpp.obj:: 360 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 361 362 {$(ALTSRC)\share\vm\opto}.cpp.obj:: 363 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 364 365 {$(ALTSRC)\os\windows\vm}.cpp.obj:: 366 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 367 368 # otherwise we can't specify the output filename. 369 {$(ALTSRC)\os\windows\vm}.rc.res: 370 @$(RC) $(RC_FLAGS) /fo"$@" $< 371 372 {$(ALTSRC)\cpu\$(Platform_arch)\vm}.cpp.obj:: 373 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 374 375 {$(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj:: 376 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 377 378 {..\generated\incls}.cpp.obj:: 379 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 380 381 {..\generated\adfiles}.cpp.obj:: 382 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 383 384 {..\generated\jvmtifiles}.cpp.obj:: 385 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 386 387 {..\generated\tracefiles}.cpp.obj:: 388 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 389 390 {$(ALTSRC)\share\vm\jfr}.cpp.obj:: 391 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 392 393 {$(ALTSRC)\share\vm\jfr\buffers}.cpp.obj:: 394 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $< 395 396 default:: 397 398 _build_pch_file.obj: 399 @echo #include "precompiled.hpp" > ../generated/_build_pch_file.cpp 400 $(CXX) $(CXX_FLAGS) /Fp"vm.pch" /Yc"precompiled.hpp" /c ../generated/_build_pch_file.cpp 401 402 !if "$(BUILD_WIN_SA)" != "1" 403 BUILD_VM_DEF_FLAG=-nosa 404 !endif 405 406 vm.def: $(Obj_Files) 407 sh $(WorkSpace)/make/windows/build_vm_def.sh $(BUILD_VM_DEF_FLAG) 408