1 # 2 # Copyright (c) 1999, 2011, 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 !include $(WorkSpace)/make/windows/makefiles/rules.make 26 27 # This is used externally by both batch and IDE builds, so can't 28 # reference any of the HOTSPOTWORKSPACE, HOTSPOTBUILDSPACE, 29 # HOTSPOTRELEASEBINDEST, or HOTSPOTDEBUGBINDEST environment variables. 30 31 ProjectCreatorSources=\ 32 $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTree.java \ 33 $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTreeNode.java \ 34 $(WorkSpace)\src\share\tools\ProjectCreator\FileFormatException.java \ 35 $(WorkSpace)\src\share\tools\ProjectCreator\ProjectCreator.java \ 36 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatform.java \ 37 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC6.java \ 38 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC7.java \ 39 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC8.java \ 40 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC9.java \ 41 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC10.java \ 42 $(WorkSpace)\src\share\tools\ProjectCreator\Util.java \ 43 $(WorkSpace)\src\share\tools\ProjectCreator\BuildConfig.java \ 44 $(WorkSpace)\src\share\tools\ProjectCreator\ArgsParser.java 45 46 # This is only used internally 47 ProjectCreatorIncludesPRIVATE=\ 48 -relativeInclude src\closed\share\vm \ 49 -relativeInclude src\closed\os\windows\vm \ 50 -relativeInclude src\closed\os_cpu\windows_$(Platform_arch)\vm \ 51 -relativeInclude src\closed\cpu\$(Platform_arch)\vm \ 52 -relativeInclude src\share\vm \ 53 -relativeInclude src\share\vm\precompiled \ 54 -relativeInclude src\share\vm\prims\wbtestmethods \ 55 -relativeInclude src\share\vm\prims \ 56 -relativeInclude src\os\windows\vm \ 57 -relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \ 58 -relativeInclude src\cpu\$(Platform_arch)\vm \ 59 -absoluteInclude $(HOTSPOTBUILDSPACE)/%f/generated \ 60 -ignorePath $(HOTSPOTBUILDSPACE)/%f/generated \ 61 -ignorePath src\share\vm\adlc \ 62 -ignorePath src\share\vm\shark \ 63 -ignorePath posix 64 65 # This is referenced externally by both the IDE and batch builds 66 ProjectCreatorOptions= 67 68 # This is used externally, but only by the IDE builds, so we can 69 # reference environment variables which aren't defined in the batch 70 # build process. 71 72 ProjectCreatorIDEOptions = \ 73 -useToGeneratePch java.cpp \ 74 -disablePch os_windows.cpp \ 75 -disablePch os_windows_$(Platform_arch).cpp \ 76 -disablePch osThread_windows.cpp \ 77 -disablePch bytecodeInterpreter.cpp \ 78 -disablePch bytecodeInterpreterWithChecks.cpp \ 79 -disablePch getThread_windows_$(Platform_arch).cpp \ 80 -disablePch_compiler2 opcodes.cpp 81 82 # Common options for the IDE builds for core, c1, and c2 83 ProjectCreatorIDEOptions=\ 84 $(ProjectCreatorIDEOptions) \ 85 -sourceBase $(HOTSPOTWORKSPACE) \ 86 -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \ 87 -startAt src \ 88 -compiler $(VcVersion) \ 89 -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \ 90 -jdkTargetRoot $(HOTSPOTJDKDIST) \ 91 -define ALIGN_STACK_FRAMES \ 92 -define VM_LITTLE_ENDIAN \ 93 -prelink "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) set JAVA_HOME=$(HOTSPOTJDKDIST) $(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(LD_VER)" \ 94 -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" \ 95 -ignoreFile jsig.c \ 96 -ignoreFile jvmtiEnvRecommended.cpp \ 97 -ignoreFile jvmtiEnvStub.cpp \ 98 -ignoreFile globalDefinitions_gcc.hpp \ 99 -ignoreFile globalDefinitions_sparcWorks.hpp \ 100 -ignoreFile version.rc \ 101 -ignoreFile Xusage.txt \ 102 -define TARGET_ARCH_x86 \ 103 -define TARGET_OS_ARCH_windows_x86 \ 104 -define TARGET_OS_FAMILY_windows \ 105 -define TARGET_COMPILER_visCPP \ 106 $(ProjectCreatorIncludesPRIVATE) 107 108 # Add in build-specific options 109 !if "$(BUILDARCH)" == "i486" 110 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 111 -platformName Win32 \ 112 -define IA32 \ 113 -ignorePath x86_64 \ 114 -define TARGET_ARCH_MODEL_x86_32 115 !else 116 !if "$(BUILDARCH)" == "amd64" 117 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 118 -platformName x64 \ 119 -define AMD64 \ 120 -define _LP64 \ 121 -ignorePath x86_32 \ 122 -define TARGET_ARCH_MODEL_x86_64 \ 123 -define TARGET_OS_ARCH_MODEL_windows_x86_64 124 !endif 125 !endif 126 127 ProjectCreatorIDEOptionsIgnoreCompiler1=\ 128 -ignorePath_TARGET c1_ 129 130 ProjectCreatorIDEOptionsIgnoreCompiler2=\ 131 -ignorePath_TARGET src/share/vm/opto \ 132 -ignorePath_TARGET src/share/vm/libadt \ 133 -ignorePath_TARGET adfiles \ 134 -ignoreFile_TARGET bcEscapeAnalyzer.cpp \ 135 -ignoreFile_TARGET bcEscapeAnalyzer.hpp \ 136 -ignorePath_TARGET chaitin \ 137 -ignorePath_TARGET c2_ \ 138 -ignorePath_TARGET runtime_ \ 139 -ignoreFile_TARGET ciTypeFlow.cpp \ 140 -ignoreFile_TARGET ciTypeFlow.hpp \ 141 -ignoreFile_TARGET $(Platform_arch_model).ad 142 143 ################################################## 144 # Without compiler(core) specific options 145 ################################################## 146 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 147 $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=core) \ 148 $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=core) 149 150 ################################################## 151 # JKERNEL specific options 152 ################################################## 153 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 154 -define_kernel KERNEL \ 155 $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=kernel) \ 156 -ignorePath_kernel src/share/vm/gc_implementation/parallelScavenge \ 157 -ignorePath_kernel src/share/vm/gc_implementation/parNew \ 158 -ignorePath_kernel src/share/vm/gc_implementation/concurrentMarkSweep \ 159 -ignorePath_kernel src/share/vm/gc_implementation/g1 \ 160 -ignoreFile_kernel attachListener.cpp \ 161 -ignoreFile_kernel attachListener_windows.cpp \ 162 -ignoreFile_kernel dump.cpp \ 163 -ignoreFile_kernel dump_$(Platform_arch_model).cpp \ 164 -ignoreFile_kernel forte.cpp \ 165 -ignoreFile_kernel fprofiler.cpp \ 166 -ignoreFile_kernel heapDumper.cpp \ 167 -ignoreFile_kernel heapInspection.cpp \ 168 -ignoreFile_kernel jniCheck.cpp \ 169 -ignoreFile_kernel jvmtiCodeBlobEvents.cpp \ 170 -ignoreFile_kernel jvmtiExtensions.cpp \ 171 -ignoreFile_kernel jvmtiImpl.cpp \ 172 -ignoreFile_kernel jvmtiRawMonitor.cpp \ 173 -ignoreFile_kernel jvmtiTagMap.cpp \ 174 -ignoreFile_kernel jvmtiTrace.cpp \ 175 -ignoreFile_kernel jvmtiTrace.hpp \ 176 -ignoreFile_kernel restore.cpp \ 177 -ignoreFile_kernel serialize.cpp \ 178 -ignoreFile_kernel vmStructs.cpp \ 179 -ignoreFile_kernel g1MemoryPool.cpp \ 180 -ignoreFile_kernel g1MemoryPool.hpp \ 181 -ignoreFile_kernel psMemoryPool.cpp \ 182 -ignoreFile_kernel psMemoryPool.hpp \ 183 -ignoreFile_kernel gcAdaptivePolicyCounters.cpp \ 184 -ignoreFile_kernel concurrentGCThread.cpp \ 185 -ignoreFile_kernel mutableNUMASpace.cpp \ 186 -ignoreFile_kernel ciTypeFlow.cpp \ 187 -ignoreFile_kernel ciTypeFlow.hpp \ 188 -ignoreFile_kernel oop.pcgc.inline.hpp \ 189 -ignoreFile_kernel oop.psgc.inline.hpp \ 190 -ignoreFile_kernel allocationStats.cpp \ 191 -ignoreFile_kernel allocationStats.hpp \ 192 -ignoreFile_kernel concurrentGCThread.hpp \ 193 -ignoreFile_kernel gSpaceCounters.cpp \ 194 -ignoreFile_kernel gSpaceCounters.hpp \ 195 -ignoreFile_kernel gcAdaptivePolicyCounters.hpp \ 196 -ignoreFile_kernel immutableSpace.cpp \ 197 -ignoreFile_kernel mutableNUMASpace.hpp \ 198 -ignoreFile_kernel mutableSpace.cpp \ 199 -ignoreFile_kernel spaceCounters.cpp \ 200 -ignoreFile_kernel spaceCounters.hpp \ 201 -ignoreFile_kernel yieldingWorkgroup.cpp \ 202 -ignoreFile_kernel yieldingWorkgroup.hpp \ 203 -ignorePath_kernel vmStructs_ \ 204 -ignoreFile_kernel $(Platform_arch_model).ad \ 205 -additionalFile_kernel gcTaskManager.hpp 206 207 ################################################## 208 # Client(C1) compiler specific options 209 ################################################## 210 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 211 -define_compiler1 COMPILER1 \ 212 $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=compiler1) 213 214 ################################################## 215 # Server(C2) compiler specific options 216 ################################################## 217 #NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make. 218 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 219 -define_compiler2 COMPILER2 \ 220 -additionalFile_compiler2 $(Platform_arch_model).ad \ 221 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model).cpp \ 222 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model).hpp \ 223 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_clone.cpp \ 224 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_expand.cpp \ 225 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_format.cpp \ 226 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_gen.cpp \ 227 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_misc.cpp \ 228 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_peephole.cpp \ 229 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_pipeline.cpp \ 230 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles adGlobals_$(Platform_arch_model).hpp \ 231 -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles dfa_$(Platform_arch_model).cpp \ 232 $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=compiler2) 233 234 # Add in the jvmti (JSR-163) options 235 # NOTE: do not pull in jvmtiEnvRecommended.cpp. This file is generated 236 # so the programmer can diff it with jvmtiEnv.cpp to be sure the 237 # code merge was done correctly (@see jvmti.make and jvmtiEnvFill.java). 238 # If so, they would then check it in as a new version of jvmtiEnv.cpp. 239 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 240 -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnv.hpp \ 241 -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnter.cpp \ 242 -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnterTrace.cpp \ 243 -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmti.h \ 244 -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles bytecodeInterpreterWithChecks.cpp