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