1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/build/windows/makefiles/vm.make Sat Dec 01 00:00:00 2007 +0000 1.3 @@ -0,0 +1,271 @@ 1.4 +# 1.5 +# Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 1.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.7 +# 1.8 +# This code is free software; you can redistribute it and/or modify it 1.9 +# under the terms of the GNU General Public License version 2 only, as 1.10 +# published by the Free Software Foundation. 1.11 +# 1.12 +# This code is distributed in the hope that it will be useful, but WITHOUT 1.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1.14 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1.15 +# version 2 for more details (a copy is included in the LICENSE file that 1.16 +# accompanied this code). 1.17 +# 1.18 +# You should have received a copy of the GNU General Public License version 1.19 +# 2 along with this work; if not, write to the Free Software Foundation, 1.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1.21 +# 1.22 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 1.23 +# CA 95054 USA or visit www.sun.com if you need additional information or 1.24 +# have any questions. 1.25 +# 1.26 +# 1.27 + 1.28 +# Resource file containing VERSIONINFO 1.29 +Res_Files=.\version.res 1.30 + 1.31 +!ifdef RELEASE 1.32 +!ifdef DEVELOP 1.33 +CPP_FLAGS=$(CPP_FLAGS) /D "DEBUG" 1.34 +!else 1.35 +CPP_FLAGS=$(CPP_FLAGS) /D "PRODUCT" 1.36 +!endif 1.37 +!else 1.38 +CPP_FLAGS=$(CPP_FLAGS) /D "ASSERT" 1.39 +!endif 1.40 + 1.41 +!if "$(Variant)" == "core" 1.42 +# No need to define anything, CORE is defined as !COMPILER1 && !COMPILER2 1.43 +!endif 1.44 + 1.45 +!if "$(Variant)" == "kernel" 1.46 +CPP_FLAGS=$(CPP_FLAGS) /D "KERNEL" 1.47 +!endif 1.48 + 1.49 +!if "$(Variant)" == "compiler1" 1.50 +CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER1" 1.51 +!endif 1.52 + 1.53 +!if "$(Variant)" == "compiler2" 1.54 +CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER2" 1.55 +!endif 1.56 + 1.57 +!if "$(Variant)" == "tiered" 1.58 +CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER1" /D "COMPILER2" 1.59 +!endif 1.60 + 1.61 +# The following variables are defined in the generated local.make file. 1.62 +CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_RELEASE_VERSION=\"$(HS_BUILD_VER)\"" 1.63 +CPP_FLAGS=$(CPP_FLAGS) /D "JRE_RELEASE_VERSION=\"$(JRE_RELEASE_VER)\"" 1.64 +CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_BUILD_TARGET=\"$(BUILD_FLAVOR)\"" 1.65 +CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_BUILD_USER=\"$(BuildUser)\"" 1.66 +CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_VM_DISTRO=\"$(HOTSPOT_VM_DISTRO)\"" 1.67 + 1.68 +CPP_FLAGS=$(CPP_FLAGS) /D "WIN32" /D "_WINDOWS" $(CPP_INCLUDE_DIRS) 1.69 + 1.70 +# Must specify this for sharedRuntimeTrig.cpp 1.71 +CPP_FLAGS=$(CPP_FLAGS) /D "VM_LITTLE_ENDIAN" 1.72 + 1.73 +# Define that so jni.h is on correct side 1.74 +CPP_FLAGS=$(CPP_FLAGS) /D "_JNI_IMPLEMENTATION_" 1.75 + 1.76 +!if "$(BUILDARCH)" == "ia64" 1.77 +STACK_SIZE="/STACK:1048576,262144" 1.78 +!else 1.79 +STACK_SIZE= 1.80 +!endif 1.81 + 1.82 +!if "$(BUILDARCH)" == "ia64" 1.83 +# AsyncGetCallTrace is not supported on IA64 yet 1.84 +AGCT_EXPORT= 1.85 +!else 1.86 +!if "$(Variant)" == "kernel" 1.87 +AGCT_EXPORT= 1.88 +!else 1.89 +AGCT_EXPORT=/export:AsyncGetCallTrace 1.90 +!endif 1.91 +!endif 1.92 + 1.93 +LINK_FLAGS=$(LINK_FLAGS) $(STACK_SIZE) /subsystem:windows /dll /base:0x8000000 \ 1.94 + /export:JNI_GetDefaultJavaVMInitArgs /export:JNI_CreateJavaVM \ 1.95 + /export:JNI_GetCreatedJavaVMs /export:jio_snprintf \ 1.96 + /export:jio_printf /export:jio_fprintf \ 1.97 + /export:jio_vfprintf /export:jio_vsnprintf $(AGCT_EXPORT) \ 1.98 + /export:JVM_GetVersionInfo \ 1.99 + /export:JVM_GetThreadStateNames /export:JVM_GetThreadStateValues \ 1.100 + /export:JVM_InitAgentProperties 1.101 + 1.102 +CPP_INCLUDE_DIRS=\ 1.103 + /I "..\generated" \ 1.104 + /I "..\generated\jvmtifiles" \ 1.105 + /I "$(WorkSpace)\src\share\vm\c1" \ 1.106 + /I "$(WorkSpace)\src\share\vm\compiler" \ 1.107 + /I "$(WorkSpace)\src\share\vm\code" \ 1.108 + /I "$(WorkSpace)\src\share\vm\interpreter" \ 1.109 + /I "$(WorkSpace)\src\share\vm\ci" \ 1.110 + /I "$(WorkSpace)\src\share\vm\classfile" \ 1.111 + /I "$(WorkSpace)\src\share\vm\gc_implementation\parallelScavenge"\ 1.112 + /I "$(WorkSpace)\src\share\vm\gc_implementation\shared"\ 1.113 + /I "$(WorkSpace)\src\share\vm\gc_implementation\parNew"\ 1.114 + /I "$(WorkSpace)\src\share\vm\gc_implementation\concurrentMarkSweep"\ 1.115 + /I "$(WorkSpace)\src\share\vm\gc_interface"\ 1.116 + /I "$(WorkSpace)\src\share\vm\asm" \ 1.117 + /I "$(WorkSpace)\src\share\vm\memory" \ 1.118 + /I "$(WorkSpace)\src\share\vm\oops" \ 1.119 + /I "$(WorkSpace)\src\share\vm\prims" \ 1.120 + /I "$(WorkSpace)\src\share\vm\runtime" \ 1.121 + /I "$(WorkSpace)\src\share\vm\services" \ 1.122 + /I "$(WorkSpace)\src\share\vm\utilities" \ 1.123 + /I "$(WorkSpace)\src\share\vm\libadt" \ 1.124 + /I "$(WorkSpace)\src\share\vm\opto" \ 1.125 + /I "$(WorkSpace)\src\os\windows\vm" \ 1.126 + /I "$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm" \ 1.127 + /I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm" 1.128 + 1.129 +CPP_USE_PCH=/Fp"vm.pch" /Yu"incls/_precompiled.incl" 1.130 + 1.131 +# Where to find the source code for the virtual machine 1.132 +VM_PATH=../generated/incls 1.133 +VM_PATH=$(VM_PATH);../generated/jvmtifiles 1.134 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/c1 1.135 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/compiler 1.136 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/code 1.137 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/interpreter 1.138 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/ci 1.139 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/classfile 1.140 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/parallelScavenge 1.141 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/shared 1.142 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/parNew 1.143 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/concurrentMarkSweep 1.144 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_interface 1.145 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/asm 1.146 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/memory 1.147 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/oops 1.148 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/prims 1.149 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/runtime 1.150 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/services 1.151 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/utilities 1.152 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/libadt 1.153 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/os/windows/vm 1.154 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm 1.155 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/cpu/$(Platform_arch)/vm 1.156 +VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/opto 1.157 + 1.158 +VM_PATH={$(VM_PATH)} 1.159 + 1.160 +# Special case files not using precompiled header files. 1.161 + 1.162 +c1_RInfo_$(Platform_arch).obj: $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp 1.163 + $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp 1.164 + 1.165 +os_windows.obj: $(WorkSpace)\src\os\windows\vm\os_windows.cpp 1.166 + $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\os_windows.cpp 1.167 + 1.168 +os_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp 1.169 + $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp 1.170 + 1.171 +osThread_windows.obj: $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp 1.172 + $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp 1.173 + 1.174 +conditionVar_windows.obj: $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp 1.175 + $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp 1.176 + 1.177 +getThread_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp 1.178 + $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp 1.179 + 1.180 +opcodes.obj: $(WorkSpace)\src\share\vm\opto\opcodes.cpp 1.181 + $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\share\vm\opto\opcodes.cpp 1.182 + 1.183 +bytecodeInterpreter.obj: $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp 1.184 + $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp 1.185 + 1.186 +bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp 1.187 + $(CPP) $(CPP_FLAGS) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp 1.188 + 1.189 +# Default rules for the Virtual Machine 1.190 +{$(WorkSpace)\src\share\vm\c1}.cpp.obj:: 1.191 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.192 + 1.193 +{$(WorkSpace)\src\share\vm\compiler}.cpp.obj:: 1.194 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.195 + 1.196 +{$(WorkSpace)\src\share\vm\code}.cpp.obj:: 1.197 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.198 + 1.199 +{$(WorkSpace)\src\share\vm\interpreter}.cpp.obj:: 1.200 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.201 + 1.202 +{$(WorkSpace)\src\share\vm\ci}.cpp.obj:: 1.203 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.204 + 1.205 +{$(WorkSpace)\src\share\vm\classfile}.cpp.obj:: 1.206 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.207 + 1.208 +{$(WorkSpace)\src\share\vm\gc_implementation\parallelScavenge}.cpp.obj:: 1.209 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.210 + 1.211 +{$(WorkSpace)\src\share\vm\gc_implementation\shared}.cpp.obj:: 1.212 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.213 + 1.214 +{$(WorkSpace)\src\share\vm\gc_implementation\parNew}.cpp.obj:: 1.215 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.216 + 1.217 +{$(WorkSpace)\src\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj:: 1.218 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.219 + 1.220 +{$(WorkSpace)\src\share\vm\gc_interface}.cpp.obj:: 1.221 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.222 + 1.223 +{$(WorkSpace)\src\share\vm\asm}.cpp.obj:: 1.224 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.225 + 1.226 +{$(WorkSpace)\src\share\vm\memory}.cpp.obj:: 1.227 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.228 + 1.229 +{$(WorkSpace)\src\share\vm\oops}.cpp.obj:: 1.230 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.231 + 1.232 +{$(WorkSpace)\src\share\vm\prims}.cpp.obj:: 1.233 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.234 + 1.235 +{$(WorkSpace)\src\share\vm\runtime}.cpp.obj:: 1.236 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.237 + 1.238 +{$(WorkSpace)\src\share\vm\services}.cpp.obj:: 1.239 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.240 + 1.241 +{$(WorkSpace)\src\share\vm\utilities}.cpp.obj:: 1.242 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.243 + 1.244 +{$(WorkSpace)\src\share\vm\libadt}.cpp.obj:: 1.245 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.246 + 1.247 +{$(WorkSpace)\src\share\vm\opto}.cpp.obj:: 1.248 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.249 + 1.250 +{$(WorkSpace)\src\os\windows\vm}.cpp.obj:: 1.251 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.252 + 1.253 +# This guy should remain a single colon rule because 1.254 +# otherwise we can't specify the output filename. 1.255 +{$(WorkSpace)\src\os\windows\vm}.rc.res: 1.256 + @$(RC) $(RC_FLAGS) /fo"$@" $< 1.257 + 1.258 +{$(WorkSpace)\src\cpu\$(Platform_arch)\vm}.cpp.obj:: 1.259 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.260 + 1.261 +{$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj:: 1.262 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.263 + 1.264 +{..\generated\incls}.cpp.obj:: 1.265 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.266 + 1.267 +{..\generated\jvmtifiles}.cpp.obj:: 1.268 + $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< 1.269 + 1.270 +default:: 1.271 + 1.272 +_build_pch_file.obj: 1.273 + @echo #include "incls/_precompiled.incl" > ../generated/_build_pch_file.cpp 1.274 + $(CPP) $(CPP_FLAGS) /Fp"vm.pch" /Yc"incls/_precompiled.incl" /c ../generated/_build_pch_file.cpp