projectcreator.make revision 2105
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder#
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder#
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# This code is free software; you can redistribute it and/or modify it
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# under the terms of the GNU General Public License version 2 only, as
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# published by the Free Software Foundation.
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder#
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# This code is distributed in the hope that it will be useful, but WITHOUT
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# version 2 for more details (a copy is included in the LICENSE file that
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# accompanied this code).
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder#
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# You should have received a copy of the GNU General Public License version
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# 2 along with this work; if not, write to the Free Software Foundation,
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder#
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# or visit www.oracle.com if you need additional information or have any
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# questions.
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder#
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder#
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder!include $(WorkSpace)/make/windows/makefiles/rules.make
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# This is used externally by both batch and IDE builds, so can't
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# reference any of the HOTSPOTWORKSPACE, HOTSPOTBUILDSPACE,
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# HOTSPOTRELEASEBINDEST, or HOTSPOTDEBUGBINDEST environment variables.
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder#
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# NOTE: unfortunately the ProjectCreatorSources list must be kept
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# synchronized between this and the Solaris version
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# (make/solaris/makefiles/projectcreator.make).
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian MaederProjectCreatorSources=\
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTree.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\DirectoryTreeNode.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\FileFormatException.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\ProjectCreator.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatform.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC6.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC7.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC8.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC9.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\Util.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\BuildConfig.java \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(WorkSpace)\src\share\tools\ProjectCreator\ArgsParser.java
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# This is only used internally
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian MaederProjectCreatorIncludesPRIVATE=\
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -relativeInclude src\closed\share\vm \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -relativeInclude src\closed\os\windows\vm \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -relativeInclude src\closed\os_cpu\windows_$(Platform_arch)\vm \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -relativeInclude src\closed\cpu\$(Platform_arch)\vm \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -relativeInclude src\share\vm \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -relativeInclude src\share\vm\prims \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -relativeInclude src\os\windows\vm \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -relativeInclude src\cpu\$(Platform_arch)\vm \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -absoluteInclude $(HOTSPOTBUILDSPACE)/%f/generated \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -ignorePath $(HOTSPOTBUILDSPACE)/%f/generated \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -ignorePath src\share\vm\adlc \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -ignorePath src\share\vm\shark
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# This is referenced externally by both the IDE and batch builds
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian MaederProjectCreatorOptions=
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# This is used externally, but only by the IDE builds, so we can
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# reference environment variables which aren't defined in the batch
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# build process.
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian MaederProjectCreatorIDEOptions = \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -useToGeneratePch java.cpp \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -disablePch os_windows.cpp \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -disablePch os_windows_$(Platform_arch).cpp \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -disablePch osThread_windows.cpp \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -disablePch bytecodeInterpreter.cpp \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -disablePch bytecodeInterpreterWithChecks.cpp \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -disablePch getThread_windows_$(Platform_arch).cpp \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -disablePch_compiler2 opcodes.cpp
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder# Common options for the IDE builds for core, c1, and c2
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian MaederProjectCreatorIDEOptions=\
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder $(ProjectCreatorIDEOptions) \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -sourceBase $(HOTSPOTWORKSPACE) \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -startAt src \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -compiler $(VcVersion) \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -jdkTargetRoot $(HOTSPOTJDKDIST) \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -define ALIGN_STACK_FRAMES \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -define VM_LITTLE_ENDIAN \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -prelink "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) $(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(LINK_VER)" \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -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" \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -ignoreFile jsig.c \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -ignoreFile jvmtiEnvRecommended.cpp \
d5ef5a29a89fa5548f81fcd49fcf0ffda69d45b0Christian Maeder -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 \
$(ProjectCreatorIncludesPRIVATE)
# Add in build-specific options
!if "$(BUILDARCH)" == "i486"
ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
-platformName Win32 \
-define IA32 \
-ignorePath x86_64 \
-define TARGET_ARCH_MODEL_x86_32
!else
!if "$(BUILDARCH)" == "amd64"
ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
-platformName x64 \
-define AMD64 \
-define _LP64 \
-ignorePath x86_32 \
-define TARGET_ARCH_MODEL_x86_64 \
-define TARGET_OS_ARCH_MODEL_windows_x86_64
!endif
!endif
ProjectCreatorIDEOptionsIgnoreCompiler1=\
-ignorePath_TARGET c1_
ProjectCreatorIDEOptionsIgnoreCompiler2=\
-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)
##################################################
# JKERNEL specific options
##################################################
ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
-define_kernel KERNEL \
$(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=kernel) \
-ignorePath_kernel src/share/vm/gc_implementation/parallelScavenge \
-ignorePath_kernel src/share/vm/gc_implementation/parNew \
-ignorePath_kernel src/share/vm/gc_implementation/concurrentMarkSweep \
-ignorePath_kernel src/share/vm/gc_implementation/g1 \
-ignoreFile_kernel attachListener.cpp \
-ignoreFile_kernel attachListener_windows.cpp \
-ignoreFile_kernel dump.cpp \
-ignoreFile_kernel dump_$(Platform_arch_model).cpp \
-ignoreFile_kernel forte.cpp \
-ignoreFile_kernel fprofiler.cpp \
-ignoreFile_kernel heapDumper.cpp \
-ignoreFile_kernel heapInspection.cpp \
-ignoreFile_kernel jniCheck.cpp \
-ignoreFile_kernel jvmtiCodeBlobEvents.cpp \
-ignoreFile_kernel jvmtiExtensions.cpp \
-ignoreFile_kernel jvmtiImpl.cpp \
-ignoreFile_kernel jvmtiRawMonitor.cpp \
-ignoreFile_kernel jvmtiTagMap.cpp \
-ignoreFile_kernel jvmtiTrace.cpp \
-ignoreFile_kernel jvmtiTrace.hpp \
-ignoreFile_kernel restore.cpp \
-ignoreFile_kernel serialize.cpp \
-ignoreFile_kernel vmStructs.cpp \
-ignoreFile_kernel g1MemoryPool.cpp \
-ignoreFile_kernel g1MemoryPool.hpp \
-ignoreFile_kernel psMemoryPool.cpp \
-ignoreFile_kernel psMemoryPool.hpp \
-ignoreFile_kernel gcAdaptivePolicyCounters.cpp \
-ignoreFile_kernel concurrentGCThread.cpp \
-ignoreFile_kernel mutableNUMASpace.cpp \
-ignoreFile_kernel ciTypeFlow.cpp \
-ignoreFile_kernel ciTypeFlow.hpp \
-ignoreFile_kernel oop.pcgc.inline.hpp \
-ignoreFile_kernel oop.psgc.inline.hpp \
-ignoreFile_kernel allocationStats.cpp \
-ignoreFile_kernel allocationStats.hpp \
-ignoreFile_kernel concurrentGCThread.hpp \
-ignoreFile_kernel gSpaceCounters.cpp \
-ignoreFile_kernel gSpaceCounters.hpp \
-ignoreFile_kernel gcAdaptivePolicyCounters.hpp \
-ignoreFile_kernel immutableSpace.cpp \
-ignoreFile_kernel mutableNUMASpace.hpp \
-ignoreFile_kernel mutableSpace.cpp \
-ignoreFile_kernel spaceCounters.cpp \
-ignoreFile_kernel spaceCounters.hpp \
-ignoreFile_kernel yieldingWorkgroup.cpp \
-ignoreFile_kernel yieldingWorkgroup.hpp \
-ignorePath_kernel vmStructs_ \
-ignoreFile_kernel $(Platform_arch_model).ad \
-additionalFile_kernel gcTaskManager.hpp
##################################################
# Client(C1) compiler specific options
##################################################
ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
-define_compiler1 COMPILER1 \
$(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 \
-additionalFile_compiler2 $(Platform_arch_model).ad \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model).cpp \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model).hpp \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_clone.cpp \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_expand.cpp \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_format.cpp \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_gen.cpp \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_misc.cpp \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_peephole.cpp \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles ad_$(Platform_arch_model)_pipeline.cpp \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles adGlobals_$(Platform_arch_model).hpp \
-additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/generated/adfiles dfa_$(Platform_arch_model).cpp \
$(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) \
-additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnv.hpp \
-additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnter.cpp \
-additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmtiEnterTrace.cpp \
-additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles jvmti.h \
-additionalGeneratedFile $(HOTSPOTBUILDSPACE)/%f/generated/jvmtifiles bytecodeInterpreterWithChecks.cpp