duke@435: # sla@2540: # Copyright (c) 1999, 2011, Oracle and/or its affiliates. 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: # trims@1907: # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA trims@1907: # or visit www.oracle.com if you need additional information or have any trims@1907: # questions. duke@435: # duke@435: # duke@435: kamg@526: !include $(WorkSpace)/make/windows/makefiles/rules.make duke@435: duke@435: # This is used externally by both batch and IDE builds, so can't duke@435: # reference any of the HOTSPOTWORKSPACE, HOTSPOTBUILDSPACE, duke@435: # HOTSPOTRELEASEBINDEST, or HOTSPOTDEBUGBINDEST environment variables. duke@435: stefank@2314: ProjectCreatorSources=\ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTree.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTreeNode.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\FileFormatException.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\ProjectCreator.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatform.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC6.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC7.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC8.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC9.java \ sla@2675: $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC10.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\Util.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\BuildConfig.java \ stefank@2314: $(WorkSpace)\src\share\tools\ProjectCreator\ArgsParser.java duke@435: duke@435: # This is only used internally stefank@2314: ProjectCreatorIncludesPRIVATE=\ sla@2540: -relativeInclude src\closed\share\vm \ sla@2540: -relativeInclude src\closed\os\windows\vm \ sla@2540: -relativeInclude src\closed\os_cpu\windows_$(Platform_arch)\vm \ sla@2540: -relativeInclude src\closed\cpu\$(Platform_arch)\vm \ stefank@2314: -relativeInclude src\share\vm \ brutisso@3283: -relativeInclude src\share\vm\precompiled \ duke@435: -relativeInclude src\share\vm\prims \ duke@435: -relativeInclude src\os\windows\vm \ duke@435: -relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \ stefank@2314: -relativeInclude src\cpu\$(Platform_arch)\vm \ stefank@2314: -absoluteInclude $(HOTSPOTBUILDSPACE)/%f/generated \ stefank@2314: -ignorePath $(HOTSPOTBUILDSPACE)/%f/generated \ stefank@2314: -ignorePath src\share\vm\adlc \ phh@3427: -ignorePath src\share\vm\shark \ phh@3427: -ignorePath posix duke@435: duke@435: # This is referenced externally by both the IDE and batch builds stefank@2314: ProjectCreatorOptions= duke@435: duke@435: # This is used externally, but only by the IDE builds, so we can duke@435: # reference environment variables which aren't defined in the batch duke@435: # build process. duke@435: stefank@2314: ProjectCreatorIDEOptions = \ duke@435: -useToGeneratePch java.cpp \ duke@435: -disablePch os_windows.cpp \ duke@435: -disablePch os_windows_$(Platform_arch).cpp \ duke@435: -disablePch osThread_windows.cpp \ duke@435: -disablePch bytecodeInterpreter.cpp \ duke@435: -disablePch bytecodeInterpreterWithChecks.cpp \ stefank@2314: -disablePch getThread_windows_$(Platform_arch).cpp \ duke@435: -disablePch_compiler2 opcodes.cpp duke@435: duke@435: # Common options for the IDE builds for core, c1, and c2 stefank@2314: ProjectCreatorIDEOptions=\ stefank@2314: $(ProjectCreatorIDEOptions) \ duke@435: -sourceBase $(HOTSPOTWORKSPACE) \ stefank@2314: -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \ duke@435: -startAt src \ stefank@2314: -compiler $(VcVersion) \ sla@2540: -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \ duke@435: -jdkTargetRoot $(HOTSPOTJDKDIST) \ duke@435: -define ALIGN_STACK_FRAMES \ duke@435: -define VM_LITTLE_ENDIAN \ phh@3427: -prelink "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) set JAVA_HOME=$(HOTSPOTJDKDIST) $(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(LINK_VER)" \ sla@2369: -postbuild "" "Building hotspot.exe..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) nmake -f $(HOTSPOTWORKSPACE)\make\windows\projectfiles\common\Makefile LOCAL_MAKE=$(HOTSPOTBUILDSPACE)\%f\local.make JAVA_HOME=$(HOTSPOTJDKDIST) launcher" \ stefank@2314: -ignoreFile jsig.c \ stefank@2314: -ignoreFile jvmtiEnvRecommended.cpp \ stefank@2314: -ignoreFile jvmtiEnvStub.cpp \ stefank@2314: -ignoreFile globalDefinitions_gcc.hpp \ stefank@2314: -ignoreFile globalDefinitions_sparcWorks.hpp \ stefank@2314: -ignoreFile version.rc \ stefank@2314: -ignoreFile Xusage.txt \ stefank@2314: -define TARGET_ARCH_x86 \ stefank@2314: -define TARGET_OS_ARCH_windows_x86 \ stefank@2314: -define TARGET_OS_FAMILY_windows \ stefank@2314: -define TARGET_COMPILER_visCPP \ stefank@2314: $(ProjectCreatorIncludesPRIVATE) duke@435: duke@435: # Add in build-specific options duke@435: !if "$(BUILDARCH)" == "i486" stefank@2314: ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ sla@2540: -platformName Win32 \ stefank@2314: -define IA32 \ stefank@2314: -ignorePath x86_64 \ stefank@2314: -define TARGET_ARCH_MODEL_x86_32 stefank@2314: !else sla@2540: !if "$(BUILDARCH)" == "amd64" stefank@2314: ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ sla@2540: -platformName x64 \ sla@2540: -define AMD64 \ sla@2540: -define _LP64 \ stefank@2314: -ignorePath x86_32 \ sla@2540: -define TARGET_ARCH_MODEL_x86_64 \ sla@2540: -define TARGET_OS_ARCH_MODEL_windows_x86_64 sla@2540: !endif duke@435: !endif duke@435: stefank@2314: ProjectCreatorIDEOptionsIgnoreCompiler1=\ stefank@2314: -ignorePath_TARGET c1_ stefank@2314: stefank@2314: ProjectCreatorIDEOptionsIgnoreCompiler2=\ stefank@2314: -ignorePath_TARGET src/share/vm/opto \ stefank@2314: -ignorePath_TARGET src/share/vm/libadt \ stefank@2314: -ignorePath_TARGET adfiles \ stefank@2314: -ignoreFile_TARGET bcEscapeAnalyzer.cpp \ stefank@2314: -ignoreFile_TARGET bcEscapeAnalyzer.hpp \ stefank@2314: -ignorePath_TARGET chaitin \ stefank@2314: -ignorePath_TARGET c2_ \ stefank@2314: -ignorePath_TARGET runtime_ \ stefank@2314: -ignoreFile_TARGET ciTypeFlow.cpp \ stefank@2314: -ignoreFile_TARGET ciTypeFlow.hpp \ stefank@2314: -ignoreFile_TARGET $(Platform_arch_model).ad stefank@2314: stefank@2314: ################################################## stefank@2314: # Without compiler(core) specific options stefank@2314: ################################################## stefank@2314: ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ stefank@2314: $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=core) \ stefank@2314: $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=core) stefank@2314: duke@435: ################################################## duke@435: # JKERNEL specific options duke@435: ################################################## stefank@2314: ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ duke@435: -define_kernel KERNEL \ stefank@2314: $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=kernel) \ stefank@2314: -ignorePath_kernel src/share/vm/gc_implementation/parallelScavenge \ stefank@2314: -ignorePath_kernel src/share/vm/gc_implementation/parNew \ stefank@2314: -ignorePath_kernel src/share/vm/gc_implementation/concurrentMarkSweep \ stefank@2314: -ignorePath_kernel src/share/vm/gc_implementation/g1 \ stefank@2314: -ignoreFile_kernel attachListener.cpp \ stefank@2314: -ignoreFile_kernel attachListener_windows.cpp \ stefank@2314: -ignoreFile_kernel dump.cpp \ stefank@2314: -ignoreFile_kernel dump_$(Platform_arch_model).cpp \ stefank@2314: -ignoreFile_kernel forte.cpp \ stefank@2314: -ignoreFile_kernel fprofiler.cpp \ stefank@2314: -ignoreFile_kernel heapDumper.cpp \ stefank@2314: -ignoreFile_kernel heapInspection.cpp \ stefank@2314: -ignoreFile_kernel jniCheck.cpp \ stefank@2314: -ignoreFile_kernel jvmtiCodeBlobEvents.cpp \ stefank@2314: -ignoreFile_kernel jvmtiExtensions.cpp \ stefank@2314: -ignoreFile_kernel jvmtiImpl.cpp \ stefank@2314: -ignoreFile_kernel jvmtiRawMonitor.cpp \ stefank@2314: -ignoreFile_kernel jvmtiTagMap.cpp \ stefank@2314: -ignoreFile_kernel jvmtiTrace.cpp \ stefank@2314: -ignoreFile_kernel jvmtiTrace.hpp \ stefank@2314: -ignoreFile_kernel restore.cpp \ stefank@2314: -ignoreFile_kernel serialize.cpp \ stefank@2314: -ignoreFile_kernel vmStructs.cpp \ stefank@2314: -ignoreFile_kernel g1MemoryPool.cpp \ stefank@2314: -ignoreFile_kernel g1MemoryPool.hpp \ stefank@2314: -ignoreFile_kernel psMemoryPool.cpp \ stefank@2314: -ignoreFile_kernel psMemoryPool.hpp \ stefank@2314: -ignoreFile_kernel gcAdaptivePolicyCounters.cpp \ stefank@2314: -ignoreFile_kernel concurrentGCThread.cpp \ stefank@2314: -ignoreFile_kernel mutableNUMASpace.cpp \ stefank@2314: -ignoreFile_kernel ciTypeFlow.cpp \ stefank@2314: -ignoreFile_kernel ciTypeFlow.hpp \ stefank@2314: -ignoreFile_kernel oop.pcgc.inline.hpp \ stefank@2314: -ignoreFile_kernel oop.psgc.inline.hpp \ stefank@2314: -ignoreFile_kernel allocationStats.cpp \ stefank@2314: -ignoreFile_kernel allocationStats.hpp \ stefank@2314: -ignoreFile_kernel concurrentGCThread.hpp \ stefank@2314: -ignoreFile_kernel gSpaceCounters.cpp \ stefank@2314: -ignoreFile_kernel gSpaceCounters.hpp \ stefank@2314: -ignoreFile_kernel gcAdaptivePolicyCounters.hpp \ stefank@2314: -ignoreFile_kernel immutableSpace.cpp \ stefank@2314: -ignoreFile_kernel mutableNUMASpace.hpp \ stefank@2314: -ignoreFile_kernel mutableSpace.cpp \ stefank@2314: -ignoreFile_kernel spaceCounters.cpp \ stefank@2314: -ignoreFile_kernel spaceCounters.hpp \ stefank@2314: -ignoreFile_kernel yieldingWorkgroup.cpp \ stefank@2314: -ignoreFile_kernel yieldingWorkgroup.hpp \ stefank@2314: -ignorePath_kernel vmStructs_ \ stefank@2314: -ignoreFile_kernel $(Platform_arch_model).ad \ stefank@2314: -additionalFile_kernel gcTaskManager.hpp duke@435: duke@435: ################################################## duke@435: # Client(C1) compiler specific options duke@435: ################################################## stefank@2314: ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ duke@435: -define_compiler1 COMPILER1 \ stefank@2314: $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=compiler1) duke@435: duke@435: ################################################## duke@435: # Server(C2) compiler specific options duke@435: ################################################## duke@435: #NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make. stefank@2314: ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ duke@435: -define_compiler2 COMPILER2 \ duke@435: -additionalFile_compiler2 $(Platform_arch_model).ad \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model).cpp \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model).hpp \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_clone.cpp \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_expand.cpp \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_format.cpp \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_gen.cpp \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_misc.cpp \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_peephole.cpp \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_pipeline.cpp \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles adGlobals_$(Platform_arch_model).hpp \ stefank@2314: -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles dfa_$(Platform_arch_model).cpp \ stefank@2314: $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=compiler2) duke@435: duke@435: # Add in the jvmti (JSR-163) options duke@435: # NOTE: do not pull in jvmtiEnvRecommended.cpp. This file is generated duke@435: # so the programmer can diff it with jvmtiEnv.cpp to be sure the duke@435: # code merge was done correctly (@see jvmti.make and jvmtiEnvFill.java). duke@435: # If so, they would then check it in as a new version of jvmtiEnv.cpp. stefank@2314: ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ stefank@2314: -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnv.hpp \ stefank@2314: -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnter.cpp \ stefank@2314: -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnterTrace.cpp \ stefank@2314: -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmti.h \ stefank@2314: -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles bytecodeInterpreterWithChecks.cpp