1 #
   2 # Copyright (c) 1999, 2009, 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 # NOTE: unfortunately the MakeDepsSources list must be kept
  32 # synchronized between this and the Solaris version
  33 # (make/solaris/makefiles/makedeps.make).
  34 
  35 MakeDepsSources=\
  36         $(WorkSpace)\src\share\tools\MakeDeps\Database.java \
  37         $(WorkSpace)\src\share\tools\MakeDeps\DirectoryTree.java \
  38         $(WorkSpace)\src\share\tools\MakeDeps\DirectoryTreeNode.java \
  39         $(WorkSpace)\src\share\tools\MakeDeps\FileFormatException.java \
  40         $(WorkSpace)\src\share\tools\MakeDeps\FileList.java \
  41         $(WorkSpace)\src\share\tools\MakeDeps\FileName.java \
  42         $(WorkSpace)\src\share\tools\MakeDeps\Macro.java \
  43         $(WorkSpace)\src\share\tools\MakeDeps\MacroDefinitions.java \
  44         $(WorkSpace)\src\share\tools\MakeDeps\MakeDeps.java \
  45         $(WorkSpace)\src\share\tools\MakeDeps\MetroWerksMacPlatform.java \
  46         $(WorkSpace)\src\share\tools\MakeDeps\Platform.java \
  47         $(WorkSpace)\src\share\tools\MakeDeps\UnixPlatform.java \
  48         $(WorkSpace)\src\share\tools\MakeDeps\WinGammaPlatform.java \
  49         $(WorkSpace)\src\share\tools\MakeDeps\WinGammaPlatformVC6.java \
  50         $(WorkSpace)\src\share\tools\MakeDeps\WinGammaPlatformVC7.java \
  51         $(WorkSpace)\src\share\tools\MakeDeps\WinGammaPlatformVC8.java \
  52         $(WorkSpace)\src\share\tools\MakeDeps\WinGammaPlatformVC9.java \
  53         $(WorkSpace)\src\share\tools\MakeDeps\Util.java \
  54         $(WorkSpace)\src\share\tools\MakeDeps\BuildConfig.java \
  55         $(WorkSpace)\src\share\tools\MakeDeps\ArgsParser.java
  56 
  57 # This is only used internally
  58 MakeDepsIncludesPRIVATE=\
  59         -relativeInclude src\share\vm\c1 \
  60         -relativeInclude src\share\vm\compiler \
  61         -relativeInclude src\share\vm\code \
  62         -relativeInclude src\share\vm\interpreter \
  63         -relativeInclude src\share\vm\ci \
  64         -relativeInclude src\share\vm\classfile \
  65         -relativeInclude src\share\vm\gc_implementation\parallelScavenge \
  66         -relativeInclude src\share\vm\gc_implementation\shared \
  67         -relativeInclude src\share\vm\gc_implementation\parNew \
  68         -relativeInclude src\share\vm\gc_implementation\concurrentMarkSweep \
  69         -relativeInclude src\share\vm\gc_implementation\g1 \
  70         -relativeInclude src\share\vm\gc_interface \
  71         -relativeInclude src\share\vm\asm \
  72         -relativeInclude src\share\vm\memory \
  73         -relativeInclude src\share\vm\oops \
  74         -relativeInclude src\share\vm\prims \
  75         -relativeInclude src\share\vm\runtime \
  76         -relativeInclude src\share\vm\services \
  77         -relativeInclude src\share\vm\utilities \
  78         -relativeInclude src\share\vm\libadt \
  79         -relativeInclude src\share\vm\opto \
  80         -relativeInclude src\os\windows\vm \
  81         -relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \
  82         -relativeInclude src\cpu\$(Platform_arch)\vm
  83 
  84 # This is referenced externally by both the IDE and batch builds
  85 MakeDepsOptions=
  86 
  87 # This is used externally, but only by the IDE builds, so we can
  88 # reference environment variables which aren't defined in the batch
  89 # build process.
  90 
  91 MakeDepsIDEOptions = \
  92         -useToGeneratePch  java.cpp \
  93         -disablePch        os_windows.cpp \
  94         -disablePch        os_windows_$(Platform_arch).cpp \
  95         -disablePch        osThread_windows.cpp \
  96         -disablePch        bytecodeInterpreter.cpp \
  97         -disablePch        bytecodeInterpreterWithChecks.cpp \
  98         -disablePch        getThread_windows_$(Platform_arch).cpp \
  99         -disablePch_compiler2     opcodes.cpp    
 100 
 101 # Common options for the IDE builds for core, c1, and c2
 102 MakeDepsIDEOptions=\
 103         $(MakeDepsIDEOptions) \
 104         -sourceBase $(HOTSPOTWORKSPACE) \
 105         -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \
 106         -startAt src \
 107         -compiler $(VcVersion) \
 108         -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \
 109         -jdkTargetRoot $(HOTSPOTJDKDIST) \
 110         -define ALIGN_STACK_FRAMES \
 111         -define VM_LITTLE_ENDIAN \
 112         -additionalFile includeDB_compiler1 \
 113         -additionalFile includeDB_compiler2 \
 114         -additionalFile includeDB_core \
 115         -additionalFile includeDB_features \
 116         -additionalFile includeDB_jvmti \
 117         -additionalFile includeDB_gc \
 118         -additionalFile includeDB_gc_parallel \
 119         -additionalFile includeDB_gc_parallelScavenge \
 120         -additionalFile includeDB_gc_concurrentMarkSweep \
 121         -additionalFile includeDB_gc_g1 \
 122         -additionalFile includeDB_gc_parNew \
 123         -additionalFile includeDB_gc_shared \
 124         -additionalFile includeDB_gc_serial \
 125         -additionalGeneratedFile $(HOTSPOTBUILDSPACE)\%f\%b vm.def \
 126         -prelink  "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b      set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME)    $(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(LINK_VER)" \
 127        $(MakeDepsIncludesPRIVATE)
 128 
 129 # Add in build-specific options
 130 !if "$(BUILDARCH)" == "i486"
 131 MakeDepsIDEOptions=$(MakeDepsIDEOptions) -define IA32
 132 !endif
 133 
 134 ##################################################
 135 # JKERNEL specific options
 136 ##################################################
 137 MakeDepsIDEOptions=$(MakeDepsIDEOptions) \
 138  -define_kernel KERNEL \
 139 
 140 ##################################################
 141 # Client(C1) compiler specific options
 142 ##################################################
 143 MakeDepsIDEOptions=$(MakeDepsIDEOptions) \
 144  -define_compiler1 COMPILER1 \
 145 
 146 ##################################################
 147 # Server(C2) compiler specific options
 148 ##################################################
 149 #NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make.
 150 MakeDepsIDEOptions=$(MakeDepsIDEOptions) \
 151  -define_compiler2 COMPILER2 \
 152  -absoluteInclude_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls \
 153  -additionalFile_compiler2 $(Platform_arch_model).ad \
 154  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model).cpp \
 155  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model).hpp \
 156  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_clone.cpp \
 157  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_expand.cpp \
 158  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_format.cpp \
 159  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_gen.cpp \
 160  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_misc.cpp \
 161  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_peephole.cpp \
 162  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls ad_$(Platform_arch_model)_pipeline.cpp \
 163  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls adGlobals_$(Platform_arch_model).hpp \
 164  -additionalGeneratedFile_compiler2 $(HOTSPOTBUILDSPACE)/%f/incls dfa_$(Platform_arch_model).cpp 
 165 
 166 # Add in the jvmti (JSR-163) options
 167 # NOTE: do not pull in jvmtiEnvRecommended.cpp.  This file is generated
 168 #       so the programmer can diff it with jvmtiEnv.cpp to be sure the
 169 #       code merge was done correctly (@see jvmti.make and jvmtiEnvFill.java).
 170 #       If so, they would then check it in as a new version of jvmtiEnv.cpp.
 171 MakeDepsIDEOptions=$(MakeDepsIDEOptions) \
 172  -absoluteInclude $(HOTSPOTBUILDSPACE)/jvmtifiles \
 173  -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/jvmtifiles jvmtiEnv.hpp \
 174  -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/jvmtifiles jvmtiEnter.cpp \
 175  -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/jvmtifiles jvmtiEnterTrace.cpp \
 176  -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/jvmtifiles jvmti.h \
 177  -additionalGeneratedFile $(HOTSPOTBUILDSPACE)/jvmtifiles bytecodeInterpreterWithChecks.cpp