source: trunk/openjdk/hotspot/make/windows/makefiles/vm.make

Last change on this file was 309, checked in by dmik, 14 years ago

trunk: Merged in openjdk6 b24 from branches/vendor/oracle.

File size: 10.3 KB
Line 
1#
2# Copyright (c) 1997, 2010, 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
26Res_Files=.\version.res
27
28!include ..\generated\objfiles.make
29
30!ifdef RELEASE
31!ifdef DEVELOP
32CPP_FLAGS=$(CPP_FLAGS) /D "DEBUG"
33!else
34CPP_FLAGS=$(CPP_FLAGS) /D "PRODUCT"
35!endif
36!else
37CPP_FLAGS=$(CPP_FLAGS) /D "ASSERT"
38!endif
39
40!if "$(Variant)" == "core"
41# No need to define anything, CORE is defined as !COMPILER1 && !COMPILER2
42!endif
43
44!if "$(Variant)" == "kernel"
45CPP_FLAGS=$(CPP_FLAGS) /D "KERNEL"
46!endif
47
48!if "$(Variant)" == "compiler1"
49CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER1"
50!endif
51
52!if "$(Variant)" == "compiler2"
53CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER2"
54!endif
55
56!if "$(Variant)" == "tiered"
57CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER1" /D "COMPILER2"
58!endif
59
60!if "$(BUILDARCH)" == "i486"
61HOTSPOT_LIB_ARCH=i386
62!else
63HOTSPOT_LIB_ARCH=$(BUILDARCH)
64!endif
65
66# The following variables are defined in the generated local.make file.
67CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_RELEASE_VERSION=\"$(HS_BUILD_VER)\""
68CPP_FLAGS=$(CPP_FLAGS) /D "JRE_RELEASE_VERSION=\"$(JRE_RELEASE_VER)\""
69CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_LIB_ARCH=\"$(HOTSPOT_LIB_ARCH)\""
70CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_BUILD_TARGET=\"$(BUILD_FLAVOR)\""
71CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_BUILD_USER=\"$(BuildUser)\""
72CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_VM_DISTRO=\"$(HOTSPOT_VM_DISTRO)\""
73
74CPP_FLAGS=$(CPP_FLAGS) $(CPP_INCLUDE_DIRS)
75
76# Define that so jni.h is on correct side
77CPP_FLAGS=$(CPP_FLAGS) /D "_JNI_IMPLEMENTATION_"
78
79!if "$(BUILDARCH)" == "ia64"
80STACK_SIZE="/STACK:1048576,262144"
81!else
82STACK_SIZE=
83!endif
84
85!if "$(BUILDARCH)" == "ia64"
86# AsyncGetCallTrace is not supported on IA64 yet
87AGCT_EXPORT=
88!else
89!if "$(Variant)" == "kernel"
90AGCT_EXPORT=
91!else
92AGCT_EXPORT=/export:AsyncGetCallTrace
93!endif
94!endif
95
96# If you modify exports below please do the corresponding changes in
97# src/share/tools/ProjectCreator/WinGammaPlatformVC7.java
98LINK_FLAGS=$(LINK_FLAGS) $(STACK_SIZE) /subsystem:windows /dll /base:0x8000000 \
99 /export:JNI_GetDefaultJavaVMInitArgs \
100 /export:JNI_CreateJavaVM \
101 /export:JVM_FindClassFromBootLoader \
102 /export:JNI_GetCreatedJavaVMs \
103 /export:jio_snprintf \
104 /export:jio_printf \
105 /export:jio_fprintf \
106 /export:jio_vfprintf \
107 /export:jio_vsnprintf \
108 $(AGCT_EXPORT) \
109 /export:JVM_GetVersionInfo \
110 /export:JVM_GetThreadStateNames \
111 /export:JVM_GetThreadStateValues \
112 /export:JVM_InitAgentProperties
113
114CPP_INCLUDE_DIRS=\
115 /I "..\generated" \
116 /I "$(WorkSpace)\src\share\vm" \
117 /I "$(WorkSpace)\src\share\vm\prims" \
118 /I "$(WorkSpace)\src\os\windows\vm" \
119 /I "$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm" \
120 /I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm"
121
122CPP_DONT_USE_PCH=/D DONT_USE_PRECOMPILED_HEADER
123
124!if "$(USE_PRECOMPILED_HEADER)" != "0"
125CPP_USE_PCH=/Fp"vm.pch" /Yu"precompiled.hpp"
126!else
127CPP_USE_PCH=$(CPP_DONT_USE_PCH)
128!endif
129
130# Where to find the source code for the virtual machine
131VM_PATH=../generated
132VM_PATH=$(VM_PATH);../generated/adfiles
133VM_PATH=$(VM_PATH);../generated/jvmtifiles
134VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/c1
135VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/compiler
136VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/code
137VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/interpreter
138VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/ci
139VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/classfile
140VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/parallelScavenge
141VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/shared
142VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/parNew
143VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/concurrentMarkSweep
144VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/g1
145VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_interface
146VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/asm
147VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/memory
148VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/oops
149VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/prims
150VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/runtime
151VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/services
152VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/utilities
153VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/libadt
154VM_PATH=$(VM_PATH);$(WorkSpace)/src/os/windows/vm
155VM_PATH=$(VM_PATH);$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm
156VM_PATH=$(VM_PATH);$(WorkSpace)/src/cpu/$(Platform_arch)/vm
157VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/opto
158
159VM_PATH={$(VM_PATH)}
160
161# Special case files not using precompiled header files.
162
163c1_RInfo_$(Platform_arch).obj: $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp
164 $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp
165
166os_windows.obj: $(WorkSpace)\src\os\windows\vm\os_windows.cpp
167 $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\os_windows.cpp
168
169os_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
170 $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
171
172osThread_windows.obj: $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
173 $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
174
175conditionVar_windows.obj: $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
176 $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
177
178getThread_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
179 $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
180
181opcodes.obj: $(WorkSpace)\src\share\vm\opto\opcodes.cpp
182 $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\share\vm\opto\opcodes.cpp
183
184bytecodeInterpreter.obj: $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
185 $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
186
187bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
188 $(CPP) $(CPP_FLAGS) $(CPP_DONT_USE_PCH) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
189
190# Default rules for the Virtual Machine
191{$(WorkSpace)\src\share\vm\c1}.cpp.obj::
192 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
193
194{$(WorkSpace)\src\share\vm\compiler}.cpp.obj::
195 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
196
197{$(WorkSpace)\src\share\vm\code}.cpp.obj::
198 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
199
200{$(WorkSpace)\src\share\vm\interpreter}.cpp.obj::
201 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
202
203{$(WorkSpace)\src\share\vm\ci}.cpp.obj::
204 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
205
206{$(WorkSpace)\src\share\vm\classfile}.cpp.obj::
207 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
208
209{$(WorkSpace)\src\share\vm\gc_implementation\parallelScavenge}.cpp.obj::
210 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
211
212{$(WorkSpace)\src\share\vm\gc_implementation\shared}.cpp.obj::
213 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
214
215{$(WorkSpace)\src\share\vm\gc_implementation\parNew}.cpp.obj::
216 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
217
218{$(WorkSpace)\src\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj::
219 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
220
221{$(WorkSpace)\src\share\vm\gc_implementation\g1}.cpp.obj::
222 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
223
224{$(WorkSpace)\src\share\vm\gc_interface}.cpp.obj::
225 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
226
227{$(WorkSpace)\src\share\vm\asm}.cpp.obj::
228 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
229
230{$(WorkSpace)\src\share\vm\memory}.cpp.obj::
231 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
232
233{$(WorkSpace)\src\share\vm\oops}.cpp.obj::
234 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
235
236{$(WorkSpace)\src\share\vm\prims}.cpp.obj::
237 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
238
239{$(WorkSpace)\src\share\vm\runtime}.cpp.obj::
240 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
241
242{$(WorkSpace)\src\share\vm\services}.cpp.obj::
243 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
244
245{$(WorkSpace)\src\share\vm\utilities}.cpp.obj::
246 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
247
248{$(WorkSpace)\src\share\vm\libadt}.cpp.obj::
249 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
250
251{$(WorkSpace)\src\share\vm\opto}.cpp.obj::
252 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
253
254{$(WorkSpace)\src\os\windows\vm}.cpp.obj::
255 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
256
257# This guy should remain a single colon rule because
258# otherwise we can't specify the output filename.
259{$(WorkSpace)\src\os\windows\vm}.rc.res:
260 @$(RC) $(RC_FLAGS) /fo"$@" $<
261
262{$(WorkSpace)\src\cpu\$(Platform_arch)\vm}.cpp.obj::
263 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
264
265{$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj::
266 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
267
268{..\generated\incls}.cpp.obj::
269 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
270
271{..\generated\adfiles}.cpp.obj::
272 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
273
274{..\generated\jvmtifiles}.cpp.obj::
275 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
276
277default::
278
279_build_pch_file.obj:
280 @echo #include "precompiled.hpp" > ../generated/_build_pch_file.cpp
281 $(CPP) $(CPP_FLAGS) /Fp"vm.pch" /Yc"precompiled.hpp" /c ../generated/_build_pch_file.cpp
Note: See TracBrowser for help on using the repository browser.