duke@435: # duke@435: # Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. duke@435: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. duke@435: # duke@435: # This code is free software; you can redistribute it and/or modify it duke@435: # under the terms of the GNU General Public License version 2 only, as duke@435: # published by the Free Software Foundation. duke@435: # duke@435: # This code is distributed in the hope that it will be useful, but WITHOUT duke@435: # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or duke@435: # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License duke@435: # version 2 for more details (a copy is included in the LICENSE file that duke@435: # accompanied this code). duke@435: # duke@435: # You should have received a copy of the GNU General Public License version duke@435: # 2 along with this work; if not, write to the Free Software Foundation, duke@435: # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. duke@435: # duke@435: # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, duke@435: # CA 95054 USA or visit www.sun.com if you need additional information or duke@435: # have any questions. duke@435: # duke@435: # duke@435: duke@435: # Resource file containing VERSIONINFO duke@435: Res_Files=.\version.res duke@435: duke@435: !ifdef RELEASE duke@435: !ifdef DEVELOP duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "DEBUG" duke@435: !else duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "PRODUCT" duke@435: !endif duke@435: !else duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "ASSERT" duke@435: !endif duke@435: duke@435: !if "$(Variant)" == "core" duke@435: # No need to define anything, CORE is defined as !COMPILER1 && !COMPILER2 duke@435: !endif duke@435: duke@435: !if "$(Variant)" == "kernel" duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "KERNEL" duke@435: !endif duke@435: duke@435: !if "$(Variant)" == "compiler1" duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER1" duke@435: !endif duke@435: duke@435: !if "$(Variant)" == "compiler2" duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER2" duke@435: !endif duke@435: duke@435: !if "$(Variant)" == "tiered" duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "COMPILER1" /D "COMPILER2" duke@435: !endif duke@435: duke@435: # The following variables are defined in the generated local.make file. duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_RELEASE_VERSION=\"$(HS_BUILD_VER)\"" duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "JRE_RELEASE_VERSION=\"$(JRE_RELEASE_VER)\"" jrose@535: CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_LIB_ARCH=\"$(BUILDARCH)\"" duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_BUILD_TARGET=\"$(BUILD_FLAVOR)\"" duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_BUILD_USER=\"$(BuildUser)\"" duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "HOTSPOT_VM_DISTRO=\"$(HOTSPOT_VM_DISTRO)\"" duke@435: duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "WIN32" /D "_WINDOWS" $(CPP_INCLUDE_DIRS) duke@435: duke@435: # Must specify this for sharedRuntimeTrig.cpp duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "VM_LITTLE_ENDIAN" duke@435: duke@435: # Define that so jni.h is on correct side duke@435: CPP_FLAGS=$(CPP_FLAGS) /D "_JNI_IMPLEMENTATION_" duke@435: duke@435: !if "$(BUILDARCH)" == "ia64" duke@435: STACK_SIZE="/STACK:1048576,262144" duke@435: !else duke@435: STACK_SIZE= duke@435: !endif duke@435: duke@435: !if "$(BUILDARCH)" == "ia64" duke@435: # AsyncGetCallTrace is not supported on IA64 yet duke@435: AGCT_EXPORT= duke@435: !else duke@435: !if "$(Variant)" == "kernel" duke@435: AGCT_EXPORT= duke@435: !else duke@435: AGCT_EXPORT=/export:AsyncGetCallTrace duke@435: !endif duke@435: !endif duke@435: duke@435: LINK_FLAGS=$(LINK_FLAGS) $(STACK_SIZE) /subsystem:windows /dll /base:0x8000000 \ duke@435: /export:JNI_GetDefaultJavaVMInitArgs /export:JNI_CreateJavaVM \ duke@435: /export:JNI_GetCreatedJavaVMs /export:jio_snprintf \ duke@435: /export:jio_printf /export:jio_fprintf \ duke@435: /export:jio_vfprintf /export:jio_vsnprintf $(AGCT_EXPORT) \ duke@435: /export:JVM_GetVersionInfo \ duke@435: /export:JVM_GetThreadStateNames /export:JVM_GetThreadStateValues \ duke@435: /export:JVM_InitAgentProperties duke@435: duke@435: CPP_INCLUDE_DIRS=\ duke@435: /I "..\generated" \ duke@435: /I "..\generated\jvmtifiles" \ duke@435: /I "$(WorkSpace)\src\share\vm\c1" \ duke@435: /I "$(WorkSpace)\src\share\vm\compiler" \ duke@435: /I "$(WorkSpace)\src\share\vm\code" \ duke@435: /I "$(WorkSpace)\src\share\vm\interpreter" \ duke@435: /I "$(WorkSpace)\src\share\vm\ci" \ duke@435: /I "$(WorkSpace)\src\share\vm\classfile" \ duke@435: /I "$(WorkSpace)\src\share\vm\gc_implementation\parallelScavenge"\ duke@435: /I "$(WorkSpace)\src\share\vm\gc_implementation\shared"\ duke@435: /I "$(WorkSpace)\src\share\vm\gc_implementation\parNew"\ duke@435: /I "$(WorkSpace)\src\share\vm\gc_implementation\concurrentMarkSweep"\ duke@435: /I "$(WorkSpace)\src\share\vm\gc_interface"\ duke@435: /I "$(WorkSpace)\src\share\vm\asm" \ duke@435: /I "$(WorkSpace)\src\share\vm\memory" \ duke@435: /I "$(WorkSpace)\src\share\vm\oops" \ duke@435: /I "$(WorkSpace)\src\share\vm\prims" \ duke@435: /I "$(WorkSpace)\src\share\vm\runtime" \ duke@435: /I "$(WorkSpace)\src\share\vm\services" \ duke@435: /I "$(WorkSpace)\src\share\vm\utilities" \ duke@435: /I "$(WorkSpace)\src\share\vm\libadt" \ duke@435: /I "$(WorkSpace)\src\share\vm\opto" \ duke@435: /I "$(WorkSpace)\src\os\windows\vm" \ duke@435: /I "$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm" \ duke@435: /I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm" duke@435: duke@435: CPP_USE_PCH=/Fp"vm.pch" /Yu"incls/_precompiled.incl" duke@435: duke@435: # Where to find the source code for the virtual machine duke@435: VM_PATH=../generated/incls duke@435: VM_PATH=$(VM_PATH);../generated/jvmtifiles duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/c1 duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/compiler duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/code duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/interpreter duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/ci duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/classfile duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/parallelScavenge duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/shared duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/parNew duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_implementation/concurrentMarkSweep duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/gc_interface duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/asm duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/memory duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/oops duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/prims duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/runtime duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/services duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/utilities duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/libadt duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/os/windows/vm duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/cpu/$(Platform_arch)/vm duke@435: VM_PATH=$(VM_PATH);$(WorkSpace)/src/share/vm/opto duke@435: duke@435: VM_PATH={$(VM_PATH)} duke@435: duke@435: # Special case files not using precompiled header files. duke@435: duke@435: c1_RInfo_$(Platform_arch).obj: $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp duke@435: $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\cpu\$(Platform_arch)\vm\c1_RInfo_$(Platform_arch).cpp duke@435: duke@435: os_windows.obj: $(WorkSpace)\src\os\windows\vm\os_windows.cpp duke@435: $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\os_windows.cpp duke@435: duke@435: os_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp duke@435: $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\os_windows_$(Platform_arch).cpp duke@435: duke@435: osThread_windows.obj: $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp duke@435: $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\osThread_windows.cpp duke@435: duke@435: conditionVar_windows.obj: $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp duke@435: $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os\windows\vm\conditionVar_windows.cpp duke@435: duke@435: getThread_windows_$(Platform_arch).obj: $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp duke@435: $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm\getThread_windows_$(Platform_arch).cpp duke@435: duke@435: opcodes.obj: $(WorkSpace)\src\share\vm\opto\opcodes.cpp duke@435: $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\share\vm\opto\opcodes.cpp duke@435: duke@435: bytecodeInterpreter.obj: $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp duke@435: $(CPP) $(CPP_FLAGS) /c $(WorkSpace)\src\share\vm\interpreter\bytecodeInterpreter.cpp duke@435: duke@435: bytecodeInterpreterWithChecks.obj: ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp duke@435: $(CPP) $(CPP_FLAGS) /c ..\generated\jvmtifiles\bytecodeInterpreterWithChecks.cpp duke@435: duke@435: # Default rules for the Virtual Machine duke@435: {$(WorkSpace)\src\share\vm\c1}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\compiler}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\code}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\interpreter}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\ci}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\classfile}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\gc_implementation\parallelScavenge}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\gc_implementation\shared}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\gc_implementation\parNew}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\gc_implementation\concurrentMarkSweep}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\gc_interface}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\asm}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\memory}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\oops}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\prims}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\runtime}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\services}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\utilities}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\libadt}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\share\vm\opto}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\os\windows\vm}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: # This guy should remain a single colon rule because duke@435: # otherwise we can't specify the output filename. duke@435: {$(WorkSpace)\src\os\windows\vm}.rc.res: duke@435: @$(RC) $(RC_FLAGS) /fo"$@" $< duke@435: duke@435: {$(WorkSpace)\src\cpu\$(Platform_arch)\vm}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {$(WorkSpace)\src\os_cpu\windows_$(Platform_arch)\vm}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {..\generated\incls}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: {..\generated\jvmtifiles}.cpp.obj:: duke@435: $(CPP) $(CPP_FLAGS) $(CPP_USE_PCH) /c $< duke@435: duke@435: default:: duke@435: duke@435: _build_pch_file.obj: duke@435: @echo #include "incls/_precompiled.incl" > ../generated/_build_pch_file.cpp duke@435: $(CPP) $(CPP_FLAGS) /Fp"vm.pch" /Yc"incls/_precompiled.incl" /c ../generated/_build_pch_file.cpp