make/windows/makefiles/projectcreator.make

Fri, 04 Oct 2013 12:45:39 +0200

author
erikj
date
Fri, 04 Oct 2013 12:45:39 +0200
changeset 5842
febab3a8f203
parent 5567
c062a6e1fa33
child 6876
710a3c8b516e
child 7261
fffbcc20bf61
permissions
-rw-r--r--

8007446: Add /MP to cl.exe speeds up windows builds of OpenJDK.
Reviewed-by: sla, ctornqvi

duke@435 1 #
zgu@4492 2 # Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
duke@435 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@435 4 #
duke@435 5 # This code is free software; you can redistribute it and/or modify it
duke@435 6 # under the terms of the GNU General Public License version 2 only, as
duke@435 7 # published by the Free Software Foundation.
duke@435 8 #
duke@435 9 # This code is distributed in the hope that it will be useful, but WITHOUT
duke@435 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@435 11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@435 12 # version 2 for more details (a copy is included in the LICENSE file that
duke@435 13 # accompanied this code).
duke@435 14 #
duke@435 15 # You should have received a copy of the GNU General Public License version
duke@435 16 # 2 along with this work; if not, write to the Free Software Foundation,
duke@435 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@435 18 #
trims@1907 19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
trims@1907 20 # or visit www.oracle.com if you need additional information or have any
trims@1907 21 # questions.
sla@5237 22 #
duke@435 23 #
duke@435 24
kamg@526 25 !include $(WorkSpace)/make/windows/makefiles/rules.make
duke@435 26
duke@435 27 # This is used externally by both batch and IDE builds, so can't
duke@435 28 # reference any of the HOTSPOTWORKSPACE, HOTSPOTBUILDSPACE,
duke@435 29 # HOTSPOTRELEASEBINDEST, or HOTSPOTDEBUGBINDEST environment variables.
duke@435 30
stefank@2314 31 ProjectCreatorSources=\
stefank@2314 32 $(WorkSpace)\src\share\tools\ProjectCreator\ProjectCreator.java \
neliasso@4112 33 $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreator.java \
neliasso@4112 34 $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreatorVC7.java \
neliasso@4112 35 $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreatorVC10.java \
stefank@2314 36 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatform.java \
stefank@2314 37 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC7.java \
stefank@2314 38 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC8.java \
stefank@2314 39 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC9.java \
sla@2675 40 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC10.java \
stefank@2314 41 $(WorkSpace)\src\share\tools\ProjectCreator\Util.java \
stefank@2314 42 $(WorkSpace)\src\share\tools\ProjectCreator\BuildConfig.java \
stefank@2314 43 $(WorkSpace)\src\share\tools\ProjectCreator\ArgsParser.java
duke@435 44
duke@435 45 # This is only used internally
stefank@2314 46 ProjectCreatorIncludesPRIVATE=\
dcubed@5500 47 -relativeAltSrcInclude src\closed \
dcubed@5500 48 -altRelativeInclude share\vm \
dcubed@5500 49 -altRelativeInclude os\windows\vm \
dcubed@5500 50 -altRelativeInclude os_cpu\windows_$(Platform_arch)\vm \
dcubed@5500 51 -altRelativeInclude cpu\$(Platform_arch)\vm \
stefank@2314 52 -relativeInclude src\share\vm \
brutisso@3283 53 -relativeInclude src\share\vm\precompiled \
nloodin@3681 54 -relativeInclude src\share\vm\prims\wbtestmethods \
duke@435 55 -relativeInclude src\share\vm\prims \
duke@435 56 -relativeInclude src\os\windows\vm \
duke@435 57 -relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \
stefank@2314 58 -relativeInclude src\cpu\$(Platform_arch)\vm \
stefank@2314 59 -absoluteInclude $(HOTSPOTBUILDSPACE)/%f/generated \
neliasso@4112 60 -relativeSrcInclude src \
neliasso@4112 61 -absoluteSrcInclude $(HOTSPOTBUILDSPACE) \
neliasso@4112 62 -ignorePath $(HOTSPOTBUILDSPACE) \
neliasso@4112 63 -ignorePath share\vm\adlc \
neliasso@4112 64 -ignorePath share\vm\shark \
neliasso@4112 65 -ignorePath share\tools \
neliasso@4112 66 -ignorePath solaris \
neliasso@4112 67 -ignorePath posix \
neliasso@4112 68 -ignorePath sparc \
neliasso@4112 69 -ignorePath linux \
neliasso@4112 70 -ignorePath bsd \
neliasso@4112 71 -ignorePath osx \
neliasso@4112 72 -ignorePath arm \
neliasso@4112 73 -ignorePath ppc \
neliasso@4112 74 -ignorePath zero \
neliasso@4112 75 -hidePath .hg
sla@5237 76
duke@435 77
duke@435 78 # This is referenced externally by both the IDE and batch builds
stefank@2314 79 ProjectCreatorOptions=
duke@435 80
duke@435 81 # This is used externally, but only by the IDE builds, so we can
duke@435 82 # reference environment variables which aren't defined in the batch
duke@435 83 # build process.
duke@435 84
stefank@2314 85 ProjectCreatorIDEOptions = \
duke@435 86 -useToGeneratePch java.cpp \
duke@435 87 -disablePch os_windows.cpp \
duke@435 88 -disablePch os_windows_$(Platform_arch).cpp \
duke@435 89 -disablePch osThread_windows.cpp \
duke@435 90 -disablePch bytecodeInterpreter.cpp \
duke@435 91 -disablePch bytecodeInterpreterWithChecks.cpp \
stefank@2314 92 -disablePch getThread_windows_$(Platform_arch).cpp \
sla@5237 93 -disablePch_compiler2 opcodes.cpp
duke@435 94
iklam@5567 95 !if "$(BUILD_WIN_SA)" != "1"
iklam@5567 96 BUILD_VM_DEF_FLAG=-nosa
iklam@5567 97 !endif
iklam@5567 98
dcubed@5500 99 # Common options for the IDE builds for c1, and c2
stefank@2314 100 ProjectCreatorIDEOptions=\
stefank@2314 101 $(ProjectCreatorIDEOptions) \
duke@435 102 -sourceBase $(HOTSPOTWORKSPACE) \
stefank@2314 103 -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \
neliasso@4112 104 -buildSpace $(HOTSPOTBUILDSPACE) \
duke@435 105 -startAt src \
stefank@2314 106 -compiler $(VcVersion) \
sla@2540 107 -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \
duke@435 108 -jdkTargetRoot $(HOTSPOTJDKDIST) \
duke@435 109 -define ALIGN_STACK_FRAMES \
duke@435 110 -define VM_LITTLE_ENDIAN \
iklam@5567 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)" \
stefank@2314 112 -ignoreFile jsig.c \
stefank@2314 113 -ignoreFile jvmtiEnvRecommended.cpp \
stefank@2314 114 -ignoreFile jvmtiEnvStub.cpp \
stefank@2314 115 -ignoreFile globalDefinitions_gcc.hpp \
stefank@2314 116 -ignoreFile globalDefinitions_sparcWorks.hpp \
stefank@2314 117 -ignoreFile version.rc \
stefank@2314 118 -ignoreFile Xusage.txt \
stefank@2314 119 -define TARGET_ARCH_x86 \
stefank@2314 120 -define TARGET_OS_ARCH_windows_x86 \
stefank@2314 121 -define TARGET_OS_FAMILY_windows \
stefank@2314 122 -define TARGET_COMPILER_visCPP \
sla@5237 123 -define INCLUDE_TRACE=1 \
stefank@2314 124 $(ProjectCreatorIncludesPRIVATE)
duke@435 125
duke@435 126 # Add in build-specific options
duke@435 127 !if "$(BUILDARCH)" == "i486"
stefank@2314 128 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
sla@2540 129 -platformName Win32 \
stefank@2314 130 -define IA32 \
stefank@2314 131 -ignorePath x86_64 \
stefank@2314 132 -define TARGET_ARCH_MODEL_x86_32
stefank@2314 133 !else
sla@2540 134 !if "$(BUILDARCH)" == "amd64"
stefank@2314 135 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
sla@2540 136 -platformName x64 \
sla@2540 137 -define AMD64 \
sla@2540 138 -define _LP64 \
stefank@2314 139 -ignorePath x86_32 \
sla@2540 140 -define TARGET_ARCH_MODEL_x86_64 \
sla@2540 141 -define TARGET_OS_ARCH_MODEL_windows_x86_64
sla@2540 142 !endif
duke@435 143 !endif
duke@435 144
stefank@2314 145 ProjectCreatorIDEOptionsIgnoreCompiler1=\
neliasso@4112 146 -ignorePath_TARGET compiler1 \
neliasso@4112 147 -ignorePath_TARGET tiered \
stefank@2314 148 -ignorePath_TARGET c1_
stefank@2314 149
stefank@2314 150 ProjectCreatorIDEOptionsIgnoreCompiler2=\
neliasso@4112 151 -ignorePath_TARGET compiler2 \
neliasso@4112 152 -ignorePath_TARGET tiered \
stefank@2314 153 -ignorePath_TARGET src/share/vm/opto \
stefank@2314 154 -ignorePath_TARGET src/share/vm/libadt \
stefank@2314 155 -ignorePath_TARGET adfiles \
stefank@2314 156 -ignoreFile_TARGET bcEscapeAnalyzer.cpp \
stefank@2314 157 -ignoreFile_TARGET bcEscapeAnalyzer.hpp \
stefank@2314 158 -ignorePath_TARGET chaitin \
stefank@2314 159 -ignorePath_TARGET c2_ \
stefank@2314 160 -ignorePath_TARGET runtime_ \
stefank@2314 161 -ignoreFile_TARGET ciTypeFlow.cpp \
stefank@2314 162 -ignoreFile_TARGET ciTypeFlow.hpp \
stefank@2314 163 -ignoreFile_TARGET $(Platform_arch_model).ad
stefank@2314 164
stefank@2314 165 ##################################################
duke@435 166 # Client(C1) compiler specific options
duke@435 167 ##################################################
stefank@2314 168 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
duke@435 169 -define_compiler1 COMPILER1 \
stefank@2314 170 $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=compiler1)
duke@435 171
duke@435 172 ##################################################
duke@435 173 # Server(C2) compiler specific options
duke@435 174 ##################################################
duke@435 175 #NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make.
stefank@2314 176 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
duke@435 177 -define_compiler2 COMPILER2 \
duke@435 178 -additionalFile_compiler2 $(Platform_arch_model).ad \
neliasso@4112 179 -additionalFile_compiler2 ad_$(Platform_arch_model).cpp \
neliasso@4112 180 -additionalFile_compiler2 ad_$(Platform_arch_model).hpp \
neliasso@4112 181 -additionalFile_compiler2 ad_$(Platform_arch_model)_clone.cpp \
neliasso@4112 182 -additionalFile_compiler2 ad_$(Platform_arch_model)_expand.cpp \
neliasso@4112 183 -additionalFile_compiler2 ad_$(Platform_arch_model)_format.cpp \
neliasso@4112 184 -additionalFile_compiler2 ad_$(Platform_arch_model)_gen.cpp \
neliasso@4112 185 -additionalFile_compiler2 ad_$(Platform_arch_model)_misc.cpp \
neliasso@4112 186 -additionalFile_compiler2 ad_$(Platform_arch_model)_peephole.cpp \
neliasso@4112 187 -additionalFile_compiler2 ad_$(Platform_arch_model)_pipeline.cpp \
neliasso@4112 188 -additionalFile_compiler2 adGlobals_$(Platform_arch_model).hpp \
neliasso@4112 189 -additionalFile_compiler2 dfa_$(Platform_arch_model).cpp \
stefank@2314 190 $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=compiler2)
duke@435 191
duke@435 192 # Add in the jvmti (JSR-163) options
duke@435 193 # NOTE: do not pull in jvmtiEnvRecommended.cpp. This file is generated
duke@435 194 # so the programmer can diff it with jvmtiEnv.cpp to be sure the
duke@435 195 # code merge was done correctly (@see jvmti.make and jvmtiEnvFill.java).
duke@435 196 # If so, they would then check it in as a new version of jvmtiEnv.cpp.
stefank@2314 197 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
neliasso@4112 198 -additionalFile jvmtiEnv.hpp \
neliasso@4112 199 -additionalFile jvmtiEnter.cpp \
neliasso@4112 200 -additionalFile jvmtiEnterTrace.cpp \
neliasso@4112 201 -additionalFile jvmti.h \
sla@5237 202 -additionalFile bytecodeInterpreterWithChecks.cpp \
sla@5237 203 -additionalFile traceEventClasses.hpp \
sla@5237 204 -additionalFile traceEventIds.hpp \
sla@5237 205 !if "$(OPENJDK)" != "true"
sla@5237 206 -additionalFile traceRequestables.hpp \
sla@5237 207 -additionalFile traceEventControl.hpp \
sla@5237 208 -additionalFile traceProducer.cpp \
sla@5237 209 !endif
sla@5237 210 -additionalFile traceTypes.hpp

mercurial