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