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"
44 !endif
45
46 !if "$(Variant)" == "compiler2"
47 CXX_FLAGS=$(CXX_FLAGS) /D "COMPILER2"
48 !endif
49
50 !if "$(Variant)" == "tiered"
51 CXX_FLAGS=$(CXX_FLAGS) /D "COMPILER1" /D "COMPILER2"
52 !endif
53
54 !if "$(BUILDARCH)" == "i486"
55 HOTSPOT_LIB_ARCH=i386
56 !else
57 HOTSPOT_LIB_ARCH=$(BUILDARCH)
58 !endif
59
60 # The following variables are defined in the generated local.make file.
61 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_RELEASE_VERSION=\"$(HS_BUILD_VER)\""
62 CXX_FLAGS=$(CXX_FLAGS) /D "JDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\""
63 CXX_FLAGS=$(CXX_FLAGS) /D "JDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\""
64 CXX_FLAGS=$(CXX_FLAGS) /D "JDK_MICRO_VERSION=\"$(JDK_MICRO_VERSION)\""
65 CXX_FLAGS=$(CXX_FLAGS) /D "JDK_BUILD_NUMBER=\"$(JDK_BUILD_NUMBER)\""
66 CXX_FLAGS=$(CXX_FLAGS) /D "JRE_RELEASE_VERSION=\"$(JRE_RELEASE_VER)\""
67 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_LIB_ARCH=\"$(HOTSPOT_LIB_ARCH)\""
68 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_BUILD_TARGET=\"$(BUILD_FLAVOR)\""
69 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_BUILD_USER=\"$(BuildUser)\""
70 CXX_FLAGS=$(CXX_FLAGS) /D "HOTSPOT_VM_DISTRO=\"$(HOTSPOT_VM_DISTRO)\""
71
72 CXX_FLAGS=$(CXX_FLAGS) $(CXX_INCLUDE_DIRS)
73
74 # Define that so jni.h is on correct side
75 CXX_FLAGS=$(CXX_FLAGS) /D "_JNI_IMPLEMENTATION_"
76
77 !if "$(BUILDARCH)" == "ia64"
78 STACK_SIZE="/STACK:1048576,262144"
79 !else
80 STACK_SIZE=
81 !endif
82
83 !if "$(BUILDARCH)" == "ia64"
84 # AsyncGetCallTrace is not supported on IA64 yet
85 AGCT_EXPORT=
86 !else
87 AGCT_EXPORT=/export:AsyncGetCallTrace
88 !endif
89
90 # If you modify exports below please do the corresponding changes in
91 # src/share/tools/ProjectCreator/WinGammaPlatformVC7.java
92 !if "$(BUILDARCH)" == "amd64"
93 EXPORT_LIST=
94 !else
95 EXPORT_LIST=/export:JNI_GetDefaultJavaVMInitArgs \
96 /export:JNI_CreateJavaVM \
97 /export:JVM_FindClassFromBootLoader \
98 /export:JNI_GetCreatedJavaVMs \
99 /export:jio_snprintf \
100 /export:jio_printf \
101 /export:jio_fprintf \
102 /export:jio_vfprintf \
103 /export:jio_vsnprintf \
104 $(AGCT_EXPORT) \
105 /export:JVM_GetVersionInfo \
106 /export:JVM_InitAgentProperties
107 !endif
108
109 LD_FLAGS=$(LD_FLAGS) $(STACK_SIZE) /subsystem:windows /dll /base:0x8000000 $(EXPORT_LIST)
110
111 CXX_INCLUDE_DIRS=/I "..\generated"
112
113 !if exists($(ALTSRC)\share\vm)
114 CXX_INCLUDE_DIRS=$(CXX_INCLUDE_DIRS) /I "$(ALTSRC)\share\vm"
115 !endif
116
117 !if exists($(ALTSRC)\os\windows\vm)
118 CXX_INCLUDE_DIRS=$(CXX_INCLUDE_DIRS) /I "$(ALTSRC)\os\windows\vm"
119 !endif
120
121 !if exists($(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm)
122 CXX_INCLUDE_DIRS=$(CXX_INCLUDE_DIRS) /I "$(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm"
123 !endif
124
125 !if exists($(ALTSRC)\cpu\$(Platform_arch)\vm)
126 CXX_INCLUDE_DIRS=$(CXX_INCLUDE_DIRS) /I "$(ALTSRC)\cpu\$(Platform_arch)\vm"
127 !endif
128
129 CXX_INCLUDE_DIRS=$(CXX_INCLUDE_DIRS) \
130 /I "$(COMMONSRC)\share\vm" \
131 /I "$(COMMONSRC)\share\vm\precompiled" \
132 /I "$(COMMONSRC)\share\vm\prims" \
133 /I "$(COMMONSRC)\os\windows\vm" \
134 /I "$(COMMONSRC)\os_cpu\windows_$(Platform_arch)\vm" \
135 /I "$(COMMONSRC)\cpu\$(Platform_arch)\vm"
136
137 CXX_DONT_USE_PCH=/D DONT_USE_PRECOMPILED_HEADER
138
139 !if "$(USE_PRECOMPILED_HEADER)" != "0"
140 CXX_USE_PCH=/Fp"vm.pch" /Yu"precompiled.hpp"
141 !if "$(MSC_VER)" > "1600"
142 # VS2012 requires this object file to be listed:
143 LD_FLAGS=$(LD_FLAGS) _build_pch_file.obj
144 !endif
145 !else
146 CXX_USE_PCH=$(CXX_DONT_USE_PCH)
147 !endif
148
149 # Where to find the source code for the virtual machine (is this used?)
150 VM_PATH=../generated
151 VM_PATH=$(VM_PATH);../generated/adfiles
152 VM_PATH=$(VM_PATH);../generated/jvmtifiles
153 VM_PATH=$(VM_PATH);../generated/tracefiles
154 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/c1
155 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/compiler
156 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/code
157 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/interpreter
158 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/ci
159 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/classfile
160 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc/parallel
161 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc/shared
162 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc/serial
163 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc/cms
164 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc/g1
165 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/asm
166 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/memory
167 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/oops
168 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/prims
169 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/prims/wbtestmethods
170 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/runtime
171 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/services
172 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/trace
173 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/utilities
174 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/libadt
175 VM_PATH=$(VM_PATH);$(WorkSpace)/src/os/windows/vm
176 VM_PATH=$(VM_PATH);$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm
177 VM_PATH=$(VM_PATH);$(WorkSpace)/src/cpu/$(Platform_arch)/vm
178 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/opto
179
180 !if exists($(ALTSRC)\share\vm\jfr)
181 VM_PATH=$(VM_PATH);$(ALTSRC)/share/vm/jfr
182 VM_PATH=$(VM_PATH);$(ALTSRC)/share/vm/jfr/buffers
183 !endif
184
185 VM_PATH={$(VM_PATH)}
186
187 # Special case files not using precompiled header files.
188
189 c1_RInfo_$(Platform_arch).obj: $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp
190 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp
191
192 os_windows.obj: $(WorkSpace)\src\os\windows\vm\os_windows.cpp
193 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\os_windows.cpp
194
195 os_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
196 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
197
198 osThread_windows.obj: $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
199 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
200
201 conditionVar_windows.obj: $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
202 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
203
204 getThread_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
205 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
206
207 opcodes.obj: $(WorkSpace)\src\share\vm\opto\opcodes.cpp
208 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\share\vm\opto\opcodes.cpp
209
210 bytecodeInterpreter.obj: $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
211 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
212
213 bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
214 $(CXX) $(CXX_FLAGS) $(CXX_DONT_USE_PCH) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
215
216 # Default rules for the Virtual Machine
217 {$(COMMONSRC)\share\vm\c1}.cpp.obj::
218 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
219
220 {$(COMMONSRC)\share\vm\compiler}.cpp.obj::
221 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
222
223 {$(COMMONSRC)\share\vm\code}.cpp.obj::
224 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
225
226 {$(COMMONSRC)\share\vm\interpreter}.cpp.obj::
227 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
228
229 {$(COMMONSRC)\share\vm\ci}.cpp.obj::
230 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
231
232 {$(COMMONSRC)\share\vm\classfile}.cpp.obj::
233 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
234
235 {$(COMMONSRC)\share\vm\gc\parallel}.cpp.obj::
236 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
237
238 {$(COMMONSRC)\share\vm\gc\shared}.cpp.obj::
239 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
240
241 {$(COMMONSRC)\share\vm\gc\serial}.cpp.obj::
242 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
243
244 {$(COMMONSRC)\share\vm\gc\cms}.cpp.obj::
245 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
246
247 {$(COMMONSRC)\share\vm\gc\g1}.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\parallel}.cpp.obj::
316 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
317
318 {$(ALTSRC)\share\vm\gc\shared}.cpp.obj::
319 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
320
321 {$(ALTSRC)\share\vm\gc\serial}.cpp.obj::
322 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
323
324 {$(ALTSRC)\share\vm\gc\cms}.cpp.obj::
325 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
326
327 {$(ALTSRC)\share\vm\gc\g1}.cpp.obj::
328 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
329
330 {$(ALTSRC)\share\vm\asm}.cpp.obj::
331 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
332
333 {$(ALTSRC)\share\vm\memory}.cpp.obj::
334 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
335
336 {$(ALTSRC)\share\vm\oops}.cpp.obj::
337 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
338
339 {$(ALTSRC)\share\vm\prims}.cpp.obj::
340 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
341
342 {$(ALTSRC)\share\vm\prims\wbtestmethods}.cpp.obj::
343 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
344
345 {$(ALTSRC)\share\vm\runtime}.cpp.obj::
346 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
347
348 {$(ALTSRC)\share\vm\services}.cpp.obj::
349 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
350
351 {$(ALTSRC)\share\vm\trace}.cpp.obj::
352 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
353
354 {$(ALTSRC)\share\vm\utilities}.cpp.obj::
355 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
356
357 {$(ALTSRC)\share\vm\libadt}.cpp.obj::
358 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
359
360 {$(ALTSRC)\share\vm\opto}.cpp.obj::
361 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
362
363 {$(ALTSRC)\os\windows\vm}.cpp.obj::
364 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
365
366 # otherwise we can't specify the output filename.
367 {$(ALTSRC)\os\windows\vm}.rc.res:
368 @$(RC) $(RC_FLAGS) /fo"$@" $<
369
370 {$(ALTSRC)\cpu\$(Platform_arch)\vm}.cpp.obj::
371 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
372
373 {$(ALTSRC)\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj::
374 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
375
376 {..\generated\incls}.cpp.obj::
377 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
378
379 {..\generated\adfiles}.cpp.obj::
380 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
381
382 {..\generated\jvmtifiles}.cpp.obj::
383 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
384
385 {..\generated\tracefiles}.cpp.obj::
386 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
387
388 {$(ALTSRC)\share\vm\jfr}.cpp.obj::
389 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
390
391 {$(ALTSRC)\share\vm\jfr\buffers}.cpp.obj::
392 $(CXX) $(CXX_FLAGS) $(CXX_USE_PCH) /c $<
393
394 default::
395
396 _build_pch_file.obj:
397 @echo #include "precompiled.hpp" > ../generated/_build_pch_file.cpp
398 $(CXX) $(CXX_FLAGS) /Fp"vm.pch" /Yc"precompiled.hpp" /c ../generated/_build_pch_file.cpp
399
400 !if "$(BUILD_WIN_SA)" != "1"
401 BUILD_VM_DEF_FLAG=-nosa
402 !endif
403
404 vm.def: $(Obj_Files)
405 sh $(WorkSpace)/make/windows/build_vm_def.sh $(BUILD_VM_DEF_FLAG)
406
--- EOF ---