make/windows/makefiles/vm.make

Thu, 05 Jun 2008 15:57:56 -0700

author
ysr
date
Thu, 05 Jun 2008 15:57:56 -0700
changeset 777
37f87013dfd8
parent 545
a49a647afe9a
child 791
1ee8caae33af
permissions
-rw-r--r--

6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr

duke@435 1 #
duke@435 2 # Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
duke@435 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@435 4 #
duke@435 5 # This code is free software; you can redistribute it and/or modify it
duke@435 6 # under the terms of the GNU General Public License version 2 only, as
duke@435 7 # published by the Free Software Foundation.
duke@435 8 #
duke@435 9 # This code is distributed in the hope that it will be useful, but WITHOUT
duke@435 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@435 11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@435 12 # version 2 for more details (a copy is included in the LICENSE file that
duke@435 13 # accompanied this code).
duke@435 14 #
duke@435 15 # You should have received a copy of the GNU General Public License version
duke@435 16 # 2 along with this work; if not, write to the Free Software Foundation,
duke@435 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@435 18 #
duke@435 19 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
duke@435 20 # CA 95054 USA or visit www.sun.com if you need additional information or
duke@435 21 # have any questions.
duke@435 22 #
duke@435 23 #
duke@435 24
duke@435 25 # Resource file containing VERSIONINFO
duke@435 26 Res_Files=.\version.res
duke@435 27
duke@435 28 !ifdef RELEASE
duke@435 29 !ifdef DEVELOP
duke@435 30 CPP_FLAGS=$(CPP_FLAGS) /D "DEBUG"
duke@435 31 !else
duke@435 32 CPP_FLAGS=$(CPP_FLAGS) /D "PRODUCT"
duke@435 33 !endif
duke@435 34 !else
duke@435 35 CPP_FLAGS=$(CPP_FLAGS) /D "ASSERT"
duke@435 36 !endif
duke@435 37
duke@435 38 !if "$(Variant)" == "core"
duke@435 39 # No need to define anything, CORE is defined as !COMPILER1 && !COMPILER2
duke@435 40 !endif
duke@435 41
duke@435 42 !if "$(Variant)" == "kernel"
duke@435 43 CPP_FLAGS=$(CPP_FLAGS) /D "KERNEL"
duke@435 44 !endif
duke@435 45
duke@435 46 !if "$(Variant)" == "compiler1"
duke@435 47 CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER1"
duke@435 48 !endif
duke@435 49
duke@435 50 !if "$(Variant)" == "compiler2"
duke@435 51 CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER2"
duke@435 52 !endif
duke@435 53
duke@435 54 !if "$(Variant)" == "tiered"
duke@435 55 CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER1" /D "COMPILER2"
duke@435 56 !endif
duke@435 57
duke@435 58 # The following variables are defined in the generated local.make file.
duke@435 59 CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_RELEASE_VERSION=\"$(HS_BUILD_VER)\""
duke@435 60 CPP_FLAGS=$(CPP_FLAGS) /D "JRE_RELEASE_VERSION=\"$(JRE_RELEASE_VER)\""
jrose@535 61 CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_LIB_ARCH=\"$(BUILDARCH)\""
duke@435 62 CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_BUILD_TARGET=\"$(BUILD_FLAVOR)\""
duke@435 63 CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_BUILD_USER=\"$(BuildUser)\""
duke@435 64 CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_VM_DISTRO=\"$(HOTSPOT_VM_DISTRO)\""
duke@435 65
duke@435 66 CPP_FLAGS=$(CPP_FLAGS) /D "WIN32" /D "_WINDOWS" $(CPP_INCLUDE_DIRS)
duke@435 67
duke@435 68 # Must specify this for sharedRuntimeTrig.cpp
duke@435 69 CPP_FLAGS=$(CPP_FLAGS) /D "VM_LITTLE_ENDIAN"
duke@435 70
duke@435 71 # Define that so jni.h is on correct side
duke@435 72 CPP_FLAGS=$(CPP_FLAGS) /D "_JNI_IMPLEMENTATION_"
duke@435 73
duke@435 74 !if "$(BUILDARCH)" == "ia64"
duke@435 75 STACK_SIZE="/STACK:1048576,262144"
duke@435 76 !else
duke@435 77 STACK_SIZE=
duke@435 78 !endif
duke@435 79
duke@435 80 !if "$(BUILDARCH)" == "ia64"
duke@435 81 # AsyncGetCallTrace is not supported on IA64 yet
duke@435 82 AGCT_EXPORT=
duke@435 83 !else
duke@435 84 !if "$(Variant)" == "kernel"
duke@435 85 AGCT_EXPORT=
duke@435 86 !else
duke@435 87 AGCT_EXPORT=/export:AsyncGetCallTrace
duke@435 88 !endif
duke@435 89 !endif
duke@435 90
duke@435 91 LINK_FLAGS=$(LINK_FLAGS) $(STACK_SIZE) /subsystem:windows /dll /base:0x8000000 \
duke@435 92 /export:JNI_GetDefaultJavaVMInitArgs /export:JNI_CreateJavaVM \
duke@435 93 /export:JNI_GetCreatedJavaVMs /export:jio_snprintf \
duke@435 94 /export:jio_printf /export:jio_fprintf \
duke@435 95 /export:jio_vfprintf /export:jio_vsnprintf $(AGCT_EXPORT) \
duke@435 96 /export:JVM_GetVersionInfo \
duke@435 97 /export:JVM_GetThreadStateNames /export:JVM_GetThreadStateValues \
duke@435 98 /export:JVM_InitAgentProperties
duke@435 99
duke@435 100 CPP_INCLUDE_DIRS=\
duke@435 101 /I "..\generated" \
duke@435 102 /I "..\generated\jvmtifiles" \
duke@435 103 /I "$(WorkSpace)\src\share\vm\c1" \
duke@435 104 /I "$(WorkSpace)\src\share\vm\compiler" \
duke@435 105 /I "$(WorkSpace)\src\share\vm\code" \
duke@435 106 /I "$(WorkSpace)\src\share\vm\interpreter" \
duke@435 107 /I "$(WorkSpace)\src\share\vm\ci" \
duke@435 108 /I "$(WorkSpace)\src\share\vm\classfile" \
duke@435 109 /I "$(WorkSpace)\src\share\vm\gc_implementation\parallelScavenge"\
duke@435 110 /I "$(WorkSpace)\src\share\vm\gc_implementation\shared"\
duke@435 111 /I "$(WorkSpace)\src\share\vm\gc_implementation\parNew"\
duke@435 112 /I "$(WorkSpace)\src\share\vm\gc_implementation\concurrentMarkSweep"\
ysr@777 113 /I "$(WorkSpace)\src\share\vm\gc_implementation\g1"\
duke@435 114 /I "$(WorkSpace)\src\share\vm\gc_interface"\
duke@435 115 /I "$(WorkSpace)\src\share\vm\asm" \
duke@435 116 /I "$(WorkSpace)\src\share\vm\memory" \
duke@435 117 /I "$(WorkSpace)\src\share\vm\oops" \
duke@435 118 /I "$(WorkSpace)\src\share\vm\prims" \
duke@435 119 /I "$(WorkSpace)\src\share\vm\runtime" \
duke@435 120 /I "$(WorkSpace)\src\share\vm\services" \
duke@435 121 /I "$(WorkSpace)\src\share\vm\utilities" \
duke@435 122 /I "$(WorkSpace)\src\share\vm\libadt" \
duke@435 123 /I "$(WorkSpace)\src\share\vm\opto" \
duke@435 124 /I "$(WorkSpace)\src\os\windows\vm" \
duke@435 125 /I "$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm" \
duke@435 126 /I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm"
duke@435 127
duke@435 128 CPP_USE_PCH=/Fp"vm.pch" /Yu"incls/_precompiled.incl"
duke@435 129
duke@435 130 # Where to find the source code for the virtual machine
duke@435 131 VM_PATH=../generated/incls
duke@435 132 VM_PATH=$(VM_PATH);../generated/jvmtifiles
duke@435 133 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/c1
duke@435 134 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/compiler
duke@435 135 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/code
duke@435 136 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/interpreter
duke@435 137 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/ci
duke@435 138 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/classfile
duke@435 139 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/parallelScavenge
duke@435 140 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/shared
duke@435 141 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/parNew
duke@435 142 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/concurrentMarkSweep
ysr@777 143 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/g1
duke@435 144 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_interface
duke@435 145 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/asm
duke@435 146 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/memory
duke@435 147 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/oops
duke@435 148 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/prims
duke@435 149 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/runtime
duke@435 150 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/services
duke@435 151 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/utilities
duke@435 152 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/libadt
duke@435 153 VM_PATH=$(VM_PATH);$(WorkSpace)/src/os/windows/vm
duke@435 154 VM_PATH=$(VM_PATH);$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm
duke@435 155 VM_PATH=$(VM_PATH);$(WorkSpace)/src/cpu/$(Platform_arch)/vm
duke@435 156 VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/opto
duke@435 157
duke@435 158 VM_PATH={$(VM_PATH)}
duke@435 159
duke@435 160 # Special case files not using precompiled header files.
duke@435 161
duke@435 162 c1_RInfo_$(Platform_arch).obj: $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp
duke@435 163 $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp
duke@435 164
duke@435 165 os_windows.obj: $(WorkSpace)\src\os\windows\vm\os_windows.cpp
duke@435 166 $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\os_windows.cpp
duke@435 167
duke@435 168 os_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
duke@435 169 $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp
duke@435 170
duke@435 171 osThread_windows.obj: $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
duke@435 172 $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp
duke@435 173
duke@435 174 conditionVar_windows.obj: $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
duke@435 175 $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp
duke@435 176
duke@435 177 getThread_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
duke@435 178 $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp
duke@435 179
duke@435 180 opcodes.obj: $(WorkSpace)\src\share\vm\opto\opcodes.cpp
duke@435 181 $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\share\vm\opto\opcodes.cpp
duke@435 182
duke@435 183 bytecodeInterpreter.obj: $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
duke@435 184 $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp
duke@435 185
duke@435 186 bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
duke@435 187 $(CPP) $(CPP_FLAGS) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp
duke@435 188
duke@435 189 # Default rules for the Virtual Machine
duke@435 190 {$(WorkSpace)\src\share\vm\c1}.cpp.obj::
duke@435 191 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 192
duke@435 193 {$(WorkSpace)\src\share\vm\compiler}.cpp.obj::
duke@435 194 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 195
duke@435 196 {$(WorkSpace)\src\share\vm\code}.cpp.obj::
duke@435 197 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 198
duke@435 199 {$(WorkSpace)\src\share\vm\interpreter}.cpp.obj::
duke@435 200 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 201
duke@435 202 {$(WorkSpace)\src\share\vm\ci}.cpp.obj::
duke@435 203 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 204
duke@435 205 {$(WorkSpace)\src\share\vm\classfile}.cpp.obj::
duke@435 206 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 207
duke@435 208 {$(WorkSpace)\src\share\vm\gc_implementation\parallelScavenge}.cpp.obj::
duke@435 209 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 210
duke@435 211 {$(WorkSpace)\src\share\vm\gc_implementation\shared}.cpp.obj::
duke@435 212 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 213
duke@435 214 {$(WorkSpace)\src\share\vm\gc_implementation\parNew}.cpp.obj::
duke@435 215 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 216
duke@435 217 {$(WorkSpace)\src\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj::
duke@435 218 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 219
ysr@777 220 {$(WorkSpace)\src\share\vm\gc_implementation\g1}.cpp.obj::
ysr@777 221 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
ysr@777 222
duke@435 223 {$(WorkSpace)\src\share\vm\gc_interface}.cpp.obj::
duke@435 224 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 225
duke@435 226 {$(WorkSpace)\src\share\vm\asm}.cpp.obj::
duke@435 227 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 228
duke@435 229 {$(WorkSpace)\src\share\vm\memory}.cpp.obj::
duke@435 230 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 231
duke@435 232 {$(WorkSpace)\src\share\vm\oops}.cpp.obj::
duke@435 233 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 234
duke@435 235 {$(WorkSpace)\src\share\vm\prims}.cpp.obj::
duke@435 236 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 237
duke@435 238 {$(WorkSpace)\src\share\vm\runtime}.cpp.obj::
duke@435 239 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 240
duke@435 241 {$(WorkSpace)\src\share\vm\services}.cpp.obj::
duke@435 242 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 243
duke@435 244 {$(WorkSpace)\src\share\vm\utilities}.cpp.obj::
duke@435 245 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 246
duke@435 247 {$(WorkSpace)\src\share\vm\libadt}.cpp.obj::
duke@435 248 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 249
duke@435 250 {$(WorkSpace)\src\share\vm\opto}.cpp.obj::
duke@435 251 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 252
duke@435 253 {$(WorkSpace)\src\os\windows\vm}.cpp.obj::
duke@435 254 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 255
duke@435 256 # This guy should remain a single colon rule because
duke@435 257 # otherwise we can't specify the output filename.
duke@435 258 {$(WorkSpace)\src\os\windows\vm}.rc.res:
duke@435 259 @$(RC) $(RC_FLAGS) /fo"$@" $<
duke@435 260
duke@435 261 {$(WorkSpace)\src\cpu\$(Platform_arch)\vm}.cpp.obj::
duke@435 262 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 263
duke@435 264 {$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj::
duke@435 265 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 266
duke@435 267 {..\generated\incls}.cpp.obj::
duke@435 268 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 269
duke@435 270 {..\generated\jvmtifiles}.cpp.obj::
duke@435 271 $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $<
duke@435 272
duke@435 273 default::
duke@435 274
duke@435 275 _build_pch_file.obj:
duke@435 276 @echo #include "incls/_precompiled.incl" > ../generated/_build_pch_file.cpp
duke@435 277 $(CPP) $(CPP_FLAGS) /Fp"vm.pch" /Yc"incls/_precompiled.incl" /c ../generated/_build_pch_file.cpp

mercurial