1 # 2 # Copyright (c) 1999, 2013, 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\ProjectCreator.java \ 33 $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreator.java \ 34 $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreatorVC7.java \ 35 $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreatorVC10.java \ 36 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatform.java \ 37 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC7.java \ 38 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC8.java \ 39 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC9.java \ 40 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC10.java \ 41 $(WorkSpace)\src\share\tools\ProjectCreator\Util.java \ 42 $(WorkSpace)\src\share\tools\ProjectCreator\BuildConfig.java \ 43 $(WorkSpace)\src\share\tools\ProjectCreator\ArgsParser.java 44 45 # This is only used internally 46 ProjectCreatorIncludesPRIVATE=\ 47 -relativeAltSrcInclude src\closed \ 48 -altRelativeInclude share\vm \ 49 -altRelativeInclude os\windows\vm \ 50 -altRelativeInclude os_cpu\windows_$(Platform_arch)\vm \ 51 -altRelativeInclude 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 -relativeSrcInclude src \ 61 -absoluteSrcInclude $(HOTSPOTBUILDSPACE) \ 62 -ignorePath $(HOTSPOTBUILDSPACE) \ 63 -ignorePath share\vm\adlc \ 64 -ignorePath share\vm\shark \ 65 -ignorePath share\tools \ 66 -ignorePath solaris \ 67 -ignorePath posix \ 68 -ignorePath sparc \ 69 -ignorePath linux \ 70 -ignorePath bsd \ 71 -ignorePath osx \ 72 -ignorePath arm \ 73 -ignorePath ppc \ 74 -ignorePath zero \ 75 -hidePath .hg 76 77 78 # This is referenced externally by both the IDE and batch builds 79 ProjectCreatorOptions= 80 81 # This is used externally, but only by the IDE builds, so we can 82 # reference environment variables which aren't defined in the batch 83 # build process. 84 85 ProjectCreatorIDEOptions = \ 86 -useToGeneratePch java.cpp \ 87 -disablePch os_windows.cpp \ 88 -disablePch os_windows_$(Platform_arch).cpp \ 89 -disablePch osThread_windows.cpp \ 90 -disablePch bytecodeInterpreter.cpp \ 91 -disablePch bytecodeInterpreterWithChecks.cpp \ 92 -disablePch getThread_windows_$(Platform_arch).cpp \ 93 -disablePch_compiler2 opcodes.cpp 94 95 !if "$(BUILD_WIN_SA)" != "1" 96 BUILD_VM_DEF_FLAG=-nosa 97 !endif 98 99 # Common options for the IDE builds for c1, and c2 100 ProjectCreatorIDEOptions=\ 101 $(ProjectCreatorIDEOptions) \ 102 -sourceBase $(HOTSPOTWORKSPACE) \ 103 -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \ 104 -buildSpace $(HOTSPOTBUILDSPACE) \ 105 -startAt src \ 106 -compiler $(VcVersion) \ 107 -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \ 108 -jdkTargetRoot $(HOTSPOTJDKDIST) \ 109 -define ALIGN_STACK_FRAMES \ 110 -define VM_LITTLE_ENDIAN \ 111 -prelink "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) set JAVA_HOME=$(HOTSPOTJDKDIST) $(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(BUILD_VM_DEF_FLAG) $(LD_VER)" \ 112 -ignoreFile jsig.c \ 113 -ignoreFile jvmtiEnvRecommended.cpp \ 114 -ignoreFile jvmtiEnvStub.cpp \ 115 -ignoreFile globalDefinitions_gcc.hpp \ 116 -ignoreFile globalDefinitions_sparcWorks.hpp \ 117 -ignoreFile version.rc \ 118 -ignoreFile Xusage.txt \ 119 -define TARGET_ARCH_x86 \ 120 -define TARGET_OS_ARCH_windows_x86 \ 121 -define TARGET_OS_FAMILY_windows \ 122 -define TARGET_COMPILER_visCPP \ 123 -define INCLUDE_TRACE=1 \ 124 $(ProjectCreatorIncludesPRIVATE) 125 126 # Add in build-specific options 127 !if "$(BUILDARCH)" == "i486" 128 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 129 -platformName Win32 \ 130 -define IA32 \ 131 -ignorePath x86_64 \ 132 -define TARGET_ARCH_MODEL_x86_32 133 !else 134 !if "$(BUILDARCH)" == "amd64" 135 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 136 -platformName x64 \ 137 -define AMD64 \ 138 -define _LP64 \ 139 -ignorePath x86_32 \ 140 -define TARGET_ARCH_MODEL_x86_64 \ 141 -define TARGET_OS_ARCH_MODEL_windows_x86_64 142 !endif 143 !endif 144 145 ProjectCreatorIDEOptionsIgnoreCompiler1=\ 146 -ignorePath_TARGET compiler1 \ 147 -ignorePath_TARGET tiered \ 148 -ignorePath_TARGET c1_ 149 150 ProjectCreatorIDEOptionsIgnoreCompiler2=\ 151 -ignorePath_TARGET compiler2 \ 152 -ignorePath_TARGET tiered \ 153 -ignorePath_TARGET src/share/vm/opto \ 154 -ignorePath_TARGET src/share/vm/libadt \ 155 -ignorePath_TARGET adfiles \ 156 -ignoreFile_TARGET bcEscapeAnalyzer.cpp \ 157 -ignoreFile_TARGET bcEscapeAnalyzer.hpp \ 158 -ignorePath_TARGET chaitin \ 159 -ignorePath_TARGET c2_ \ 160 -ignorePath_TARGET runtime_ \ 161 -ignoreFile_TARGET ciTypeFlow.cpp \ 162 -ignoreFile_TARGET ciTypeFlow.hpp \ 163 -ignoreFile_TARGET $(Platform_arch_model).ad 164 165 ################################################## 166 # Client(C1) compiler specific options 167 ################################################## 168 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 169 -define_compiler1 COMPILER1 \ 170 $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=compiler1) 171 172 ################################################## 173 # Server(C2) compiler specific options 174 ################################################## 175 #NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make. 176 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 177 -define_compiler2 COMPILER2 \ 178 -additionalFile_compiler2 $(Platform_arch_model).ad \ 179 -additionalFile_compiler2 ad_$(Platform_arch_model).cpp \ 180 -additionalFile_compiler2 ad_$(Platform_arch_model).hpp \ 181 -additionalFile_compiler2 ad_$(Platform_arch_model)_clone.cpp \ 182 -additionalFile_compiler2 ad_$(Platform_arch_model)_expand.cpp \ 183 -additionalFile_compiler2 ad_$(Platform_arch_model)_format.cpp \ 184 -additionalFile_compiler2 ad_$(Platform_arch_model)_gen.cpp \ 185 -additionalFile_compiler2 ad_$(Platform_arch_model)_misc.cpp \ 186 -additionalFile_compiler2 ad_$(Platform_arch_model)_peephole.cpp \ 187 -additionalFile_compiler2 ad_$(Platform_arch_model)_pipeline.cpp \ 188 -additionalFile_compiler2 adGlobals_$(Platform_arch_model).hpp \ 189 -additionalFile_compiler2 dfa_$(Platform_arch_model).cpp \ 190 $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=compiler2) 191 192 # Add in the jvmti (JSR-163) options 193 # NOTE: do not pull in jvmtiEnvRecommended.cpp. This file is generated 194 # so the programmer can diff it with jvmtiEnv.cpp to be sure the 195 # code merge was done correctly (@see jvmti.make and jvmtiEnvFill.java). 196 # If so, they would then check it in as a new version of jvmtiEnv.cpp. 197 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \ 198 -additionalFile jvmtiEnv.hpp \ 199 -additionalFile jvmtiEnter.cpp \ 200 -additionalFile jvmtiEnterTrace.cpp \ 201 -additionalFile jvmti.h \ 202 -additionalFile bytecodeInterpreterWithChecks.cpp \ 203 -additionalFile traceEventClasses.hpp \ 204 -additionalFile traceEventIds.hpp \ 205 !if "$(OPENJDK)" != "true" 206 -additionalFile traceRequestables.hpp \ 207 -additionalFile traceEventControl.hpp \ 208 -additionalFile traceProducer.cpp \ 209 !endif 210 -additionalFile traceTypes.hpp