1 #
   2 # Copyright 1999-2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  20 # CA 95054 USA or visit www.sun.com if you need additional information or
  21 # have any questions.
  22 #  
  23 #
  24 
  25 WorkSpace=$(HOTSPOTWORKSPACE)
  26 
  27 !ifdef ALT_BOOTDIR
  28 BootStrapDir=$(ALT_BOOTDIR)
  29 !else
  30 !ifdef BOOTDIR
  31 BootStrapDir=$(BOOTDIR)
  32 !else
  33 !ifdef JAVA_HOME
  34 BootStrapDir=$(JAVA_HOME)
  35 !endif
  36 !endif
  37 !endif
  38 
  39 !include $(HOTSPOTWORKSPACE)/make/windows/makefiles/makedeps.make
  40 
  41 # Pick up rules for building JVMTI (JSR-163)
  42 JvmtiOutDir=$(HOTSPOTBUILDSPACE)\jvmtifiles
  43 !include $(HOTSPOTWORKSPACE)/make/windows/makefiles/jvmti.make
  44 
  45 Platform=$(HOTSPOTWORKSPACE)/make/windows/platform_$(BUILDARCH)
  46 
  47 default:: $(AdditionalTargets) $(JvmtiGeneratedFiles)
  48 
  49 IncludeDBs_base=$(HOTSPOTWORKSPACE)/src/share/vm/includeDB_core  \
  50                 $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_jvmti \
  51                 $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_gc    \
  52                 $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_serial
  53 
  54 # Parallel gc files
  55 IncludeDBs_gc=$(HOTSPOTWORKSPACE)/src/share/vm/includeDB_gc_parallel       \
  56     $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_shared \
  57     $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_parNew \
  58     $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_parallelScavenge \
  59     $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep \
  60     $(HOTSPOTWORKSPACE)/src/share/vm/gc_implementation/includeDB_gc_g1
  61 
  62 
  63 IncludeDBs_kernel =$(IncludeDBs_base) \
  64                     $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_compiler1
  65 
  66 IncludeDBs_core =$(IncludeDBs_base) $(IncludeDBs_gc) \
  67                  $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_features
  68 
  69 IncludeDBs_compiler1=$(IncludeDBs_core) \
  70                      $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_compiler1
  71 
  72 IncludeDBs_compiler2=$(IncludeDBs_core) \
  73                     $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_compiler2
  74 
  75 IncludeDBs_tiered=$(IncludeDBs_core) \
  76                     $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_compiler1 \
  77                     $(HOTSPOTWORKSPACE)/src/share/vm/includeDB_compiler2
  78 
  79 
  80 !if "$(Variant)" == "compiler1"
  81 IncludeDBs = $(IncludeDBs_compiler1)
  82 !endif
  83 
  84 !if "$(Variant)" == "compiler2"
  85 IncludeDBs = $(IncludeDBs_compiler2)
  86 # Pick up rules for building adlc
  87 !include $(HOTSPOTWORKSPACE)/make/windows/makefiles/adlc.make
  88 !endif
  89 
  90 !if "$(Variant)" == "tiered"
  91 IncludeDBs = $(IncludeDBs_tiered)
  92 # Pick up rules for building adlc
  93 !include $(HOTSPOTWORKSPACE)/make/windows/makefiles/adlc.make
  94 !endif
  95 
  96 !if "$(Variant)" == "core"
  97 IncludeDBs = $(IncludeDBs_core)
  98 !endif
  99 
 100 !if "$(Variant)" == "kernel"
 101 IncludeDBs = $(IncludeDBs_kernel)
 102 !endif
 103 
 104 !include $(HOTSPOTWORKSPACE)/make/hotspot_version
 105 
 106 !if "$(HOTSPOT_RELEASE_VERSION)" != ""
 107 HOTSPOT_RELEASE_VERSION="$(HOTSPOT_RELEASE_VERSION)"
 108 !else
 109 HOTSPOT_RELEASE_VERSION="$(HS_MAJOR_VER).$(HS_MINOR_VER)-b$(HS_BUILD_NUMBER)"
 110 !endif
 111 HOTSPOT_BUILD_VERSION$(HOTSPOT_BUILD_VERSION) = internal
 112 !if "$(HOTSPOT_BUILD_VERSION)" != ""
 113 HOTSPOT_RELEASE_VERSION="$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)"
 114 !endif
 115 !if "$(JRE_RELEASE_VERSION)" != ""
 116 JRE_RELEASE_VERSION="$(JRE_RELEASE_VERSION)"
 117 !else
 118 JRE_RELEASE_VERSION="$(JDK_MAJOR_VER).$(JDK_MINOR_VER).$(JDK_MICRO_VER)"
 119 !endif
 120 
 121 # Define HOTSPOT_VM_DISTRO if HOTSPOT_VM_DISTRO is set,
 122 # and if it is not see if we have the src/closed directory
 123 !if "$(HOTSPOT_VM_DISTRO)" != ""
 124 HOTSPOT_VM_DISTRO="$(HOTSPOT_VM_DISTRO)"
 125 !else
 126 !if exists($(HOTSPOTWORKSPACE)\src\closed)
 127 HOTSPOT_VM_DISTRO="Java HotSpot(TM)"
 128 !else
 129 HOTSPOT_VM_DISTRO="OpenJDK"
 130 !endif
 131 !endif
 132 
 133 MakeDepsIDEOptions =       $(MakeDepsIDEOptions) \
 134       -includeDB_kernel    $(HOTSPOTBUILDSPACE)\includeDB_kernel \
 135       -includeDB_core      $(HOTSPOTBUILDSPACE)\includeDB_core \
 136       -includeDB_compiler1 $(HOTSPOTBUILDSPACE)\includeDB_compiler1 \
 137       -includeDB_compiler2 $(HOTSPOTBUILDSPACE)\includeDB_compiler2 \
 138       -includeDB_tiered    $(HOTSPOTBUILDSPACE)\includeDB_tiered \
 139       -platform            $(Platform) \
 140       -define              HOTSPOT_RELEASE_VERSION=\\\"$(HOTSPOT_RELEASE_VERSION)\\\" \
 141       -define              JRE_RELEASE_VERSION=\\\"$(JRE_RELEASE_VERSION)\\\" \
 142       -define              HOTSPOT_VM_DISTRO=\\\"$(HOTSPOT_VM_DISTRO)\\\"
 143 
 144 incls:
 145         @mkdir incls
 146 
 147 includeDB.current $(ProjectFile) Dependencies: local.make $(HOTSPOTBUILDSPACE)/classes/MakeDeps.class \
 148                                                $(IncludeDBs) incls
 149         @rm -f includeDB $(HOTSPOTBUILDSPACE)\includeDB_kernel \
 150                          $(HOTSPOTBUILDSPACE)\includeDB_core \
 151                          $(HOTSPOTBUILDSPACE)\includeDB_compiler1 \
 152                          $(HOTSPOTBUILDSPACE)\includeDB_compiler2 \
 153                          $(HOTSPOTBUILDSPACE)\includeDB_tiered
 154         @cat $(IncludeDBs_kernel) > $(HOTSPOTBUILDSPACE)\includeDB_kernel
 155         @cat $(IncludeDBs_core) > $(HOTSPOTBUILDSPACE)\includeDB_core
 156         @cat $(IncludeDBs_compiler1)   > $(HOTSPOTBUILDSPACE)\includeDB_compiler1
 157         @cat $(IncludeDBs_compiler2)   > $(HOTSPOTBUILDSPACE)\includeDB_compiler2
 158         @cat $(IncludeDBs_tiered)      > $(HOTSPOTBUILDSPACE)\includeDB_tiered
 159         @echo java.cpp jni.h >  includeDB
 160         @$(RUN_JAVA) -Djava.class.path=$(HOTSPOTBUILDSPACE)/classes MakeDeps diffs WinGammaPlatform$(VcVersion) \
 161                   $(Platform) includeDB.current $(Platform) includeDB $(MakeDepsOptions) $(MakeDepsIDEOptions)
 162         @rm -f includeDB.current
 163         @cp includeDB includeDB.current
 164 
 165 lists: $(HOTSPOTBUILDSPACE)/classes/MakeDeps.class FORCE
 166         @if exist incls rmdir /s /q incls
 167         @rm -f includeDB
 168         @cat $(IncludeDBs) > includeDB
 169         @mkdir incls
 170         @$(RUN_JAVA) -Djava.class.path=$(HOTSPOTBUILDSPACE)/classes MakeDeps WinGammaPlatform$(VcVersion) \
 171                  $(Platform) includeDB $(MakeDepsOptions) $(MakeDepsIDEOptions)
 172         @rm -f includeDB.current
 173         @cp includeDB includeDB.current
 174 
 175 clean:
 176         @rm -rf incls $(HOTSPOTBUILDSPACE)/classes
 177         @rm -f includeDB includeDB.current $(ProjectFile) Dependencies
 178 
 179 $(HOTSPOTBUILDSPACE)/classes/MakeDeps.class: $(MakeDepsSources)
 180         @if exist $(HOTSPOTBUILDSPACE)\classes rmdir /s /q $(HOTSPOTBUILDSPACE)\classes
 181         @mkdir $(HOTSPOTBUILDSPACE)\classes
 182         @$(COMPILE_JAVAC) -classpath $(HOTSPOTWORKSPACE)\src\share\tools\MakeDeps -g -d $(HOTSPOTBUILDSPACE)/classes $(MakeDepsSources)
 183 
 184 FORCE: