projectcreator.make 8.7 KB
Newer Older
1
#
Z
zgu 已提交
2
# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#  
#

!include $(WorkSpace)/make/windows/makefiles/rules.make

# This is used externally by both batch and IDE builds, so can't
# reference any of the HOTSPOTWORKSPACE, HOTSPOTBUILDSPACE,
# HOTSPOTRELEASEBINDEST, or HOTSPOTDEBUGBINDEST environment variables.

ProjectCreatorSources=\
        $(WorkSpace)\src\share\tools\ProjectCreator\ProjectCreator.java \
N
neliasso 已提交
33 34 35
        $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreator.java \
        $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreatorVC7.java \
        $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreatorVC10.java \
36 37 38 39
        $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatform.java \
        $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC7.java \
        $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC8.java \
        $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC9.java \
40
        $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC10.java \
41 42 43 44 45 46
        $(WorkSpace)\src\share\tools\ProjectCreator\Util.java \
        $(WorkSpace)\src\share\tools\ProjectCreator\BuildConfig.java \
        $(WorkSpace)\src\share\tools\ProjectCreator\ArgsParser.java

# This is only used internally
ProjectCreatorIncludesPRIVATE=\
47 48 49 50
        -relativeInclude src\closed\share\vm \
        -relativeInclude src\closed\os\windows\vm \
        -relativeInclude src\closed\os_cpu\windows_$(Platform_arch)\vm \
        -relativeInclude src\closed\cpu\$(Platform_arch)\vm \
51
        -relativeInclude src\share\vm \
52
        -relativeInclude src\share\vm\precompiled \
53
        -relativeInclude src\share\vm\prims\wbtestmethods \
54 55 56 57 58
        -relativeInclude src\share\vm\prims \
        -relativeInclude src\os\windows\vm \
        -relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \
        -relativeInclude src\cpu\$(Platform_arch)\vm \
        -absoluteInclude $(HOTSPOTBUILDSPACE)/%f/generated \
N
neliasso 已提交
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
        -relativeSrcInclude src \
        -absoluteSrcInclude $(HOTSPOTBUILDSPACE) \
        -ignorePath $(HOTSPOTBUILDSPACE) \
        -ignorePath share\vm\adlc \
        -ignorePath share\vm\shark \
        -ignorePath share\tools \
        -ignorePath solaris \
        -ignorePath posix \
        -ignorePath sparc \
        -ignorePath linux \
        -ignorePath bsd \
        -ignorePath osx \
        -ignorePath arm \
        -ignorePath ppc \
        -ignorePath zero \
        -hidePath .hg
	
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

# This is referenced externally by both the IDE and batch builds
ProjectCreatorOptions=

# This is used externally, but only by the IDE builds, so we can
# reference environment variables which aren't defined in the batch
# build process.

ProjectCreatorIDEOptions = \
        -useToGeneratePch  java.cpp \
        -disablePch        os_windows.cpp \
        -disablePch        os_windows_$(Platform_arch).cpp \
        -disablePch        osThread_windows.cpp \
        -disablePch        bytecodeInterpreter.cpp \
        -disablePch        bytecodeInterpreterWithChecks.cpp \
        -disablePch        getThread_windows_$(Platform_arch).cpp \
        -disablePch_compiler2     opcodes.cpp    

# Common options for the IDE builds for core, c1, and c2
ProjectCreatorIDEOptions=\
        $(ProjectCreatorIDEOptions) \
        -sourceBase $(HOTSPOTWORKSPACE) \
        -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \
N
neliasso 已提交
99
        -buildSpace $(HOTSPOTBUILDSPACE) \
100 101
        -startAt src \
        -compiler $(VcVersion) \
102
        -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \
103 104 105
        -jdkTargetRoot $(HOTSPOTJDKDIST) \
        -define ALIGN_STACK_FRAMES \
        -define VM_LITTLE_ENDIAN \
106
        -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)" \
107 108 109 110 111 112 113 114 115 116 117
        -ignoreFile jsig.c \
        -ignoreFile jvmtiEnvRecommended.cpp \
        -ignoreFile jvmtiEnvStub.cpp \
        -ignoreFile globalDefinitions_gcc.hpp \
        -ignoreFile globalDefinitions_sparcWorks.hpp \
        -ignoreFile version.rc \
        -ignoreFile Xusage.txt \
        -define TARGET_ARCH_x86 \
        -define TARGET_OS_ARCH_windows_x86 \
        -define TARGET_OS_FAMILY_windows \
        -define TARGET_COMPILER_visCPP \
N
neliasso 已提交
118
        -define INCLUDE_TRACE \
119 120 121 122 123
       $(ProjectCreatorIncludesPRIVATE)

# Add in build-specific options
!if "$(BUILDARCH)" == "i486"
ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
124
	-platformName Win32 \
125 126 127 128
        -define IA32 \
        -ignorePath x86_64 \
        -define TARGET_ARCH_MODEL_x86_32
!else
129
!if "$(BUILDARCH)" == "amd64"
130
ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
131 132 133
	-platformName x64 \
        -define AMD64 \
	-define _LP64 \
134
        -ignorePath x86_32 \
135 136 137
        -define TARGET_ARCH_MODEL_x86_64 \
	-define TARGET_OS_ARCH_MODEL_windows_x86_64
!endif
138 139 140
!endif

ProjectCreatorIDEOptionsIgnoreCompiler1=\
N
neliasso 已提交
141 142
 -ignorePath_TARGET compiler1 \
 -ignorePath_TARGET tiered \
143 144 145
 -ignorePath_TARGET c1_

ProjectCreatorIDEOptionsIgnoreCompiler2=\
N
neliasso 已提交
146 147
 -ignorePath_TARGET compiler2 \
 -ignorePath_TARGET tiered \
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
 -ignorePath_TARGET src/share/vm/opto \
 -ignorePath_TARGET src/share/vm/libadt \
 -ignorePath_TARGET adfiles \
 -ignoreFile_TARGET bcEscapeAnalyzer.cpp \
 -ignoreFile_TARGET bcEscapeAnalyzer.hpp \
 -ignorePath_TARGET chaitin \
 -ignorePath_TARGET c2_ \
 -ignorePath_TARGET runtime_ \
 -ignoreFile_TARGET ciTypeFlow.cpp \
 -ignoreFile_TARGET ciTypeFlow.hpp \
 -ignoreFile_TARGET $(Platform_arch_model).ad

##################################################
# Without compiler(core) specific options
##################################################
ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
$(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=core) \
$(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=core)

##################################################
# Client(C1) compiler specific options
##################################################
ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
 -define_compiler1 COMPILER1 \
N
neliasso 已提交
172
 -ignorePath_compiler1 core \
173 174 175 176 177 178 179 180
$(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=compiler1)

##################################################
# Server(C2) compiler specific options
##################################################
#NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make.
ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
 -define_compiler2 COMPILER2 \
N
neliasso 已提交
181
 -ignorePath_compiler2 core \
182
 -additionalFile_compiler2 $(Platform_arch_model).ad \
N
neliasso 已提交
183 184 185 186 187 188 189 190 191 192 193
 -additionalFile_compiler2 ad_$(Platform_arch_model).cpp \
 -additionalFile_compiler2 ad_$(Platform_arch_model).hpp \
 -additionalFile_compiler2 ad_$(Platform_arch_model)_clone.cpp \
 -additionalFile_compiler2 ad_$(Platform_arch_model)_expand.cpp \
 -additionalFile_compiler2 ad_$(Platform_arch_model)_format.cpp \
 -additionalFile_compiler2 ad_$(Platform_arch_model)_gen.cpp \
 -additionalFile_compiler2 ad_$(Platform_arch_model)_misc.cpp \
 -additionalFile_compiler2 ad_$(Platform_arch_model)_peephole.cpp \
 -additionalFile_compiler2 ad_$(Platform_arch_model)_pipeline.cpp \
 -additionalFile_compiler2 adGlobals_$(Platform_arch_model).hpp \
 -additionalFile_compiler2 dfa_$(Platform_arch_model).cpp \
194 195 196 197 198 199 200 201
 $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=compiler2)

# Add in the jvmti (JSR-163) options
# NOTE: do not pull in jvmtiEnvRecommended.cpp.  This file is generated
#       so the programmer can diff it with jvmtiEnv.cpp to be sure the
#       code merge was done correctly (@see jvmti.make and jvmtiEnvFill.java).
#       If so, they would then check it in as a new version of jvmtiEnv.cpp.
ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
N
neliasso 已提交
202 203 204 205 206
 -additionalFile jvmtiEnv.hpp \
 -additionalFile jvmtiEnter.cpp \
 -additionalFile jvmtiEnterTrace.cpp \
 -additionalFile jvmti.h \
 -additionalFile bytecodeInterpreterWithChecks.cpp