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