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