1 # 2 # Copyright (c) 2000, 2008, 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 # This guards against adding broken .java files to the directory 26 # hierarchy, but may be a pain to keep in sync 27 28 # Generated using the build-pkglist script 29 ifeq "x$(GAMMADIR)" "x" 30 include ../../make/defs.make 31 else 32 include $(GAMMADIR)/make/defs.make 33 endif 34 35 ifeq "x$(HOTSPOT_BUILD_VERSION)" "x" 36 SA_BUILD_VERSION=$(HOTSPOT_RELEASE_VERSION) 37 else 38 SA_BUILD_VERSION=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION) 39 endif 40 41 PKGLIST = \ 42 sun.jvm.hotspot \ 43 sun.jvm.hotspot.asm \ 44 sun.jvm.hotspot.asm.amd64 \ 45 sun.jvm.hotspot.asm.ia64 \ 46 sun.jvm.hotspot.asm.sparc \ 47 sun.jvm.hotspot.asm.x86 \ 48 sun.jvm.hotspot.bugspot \ 49 sun.jvm.hotspot.bugspot.tree \ 50 sun.jvm.hotspot.c1 \ 51 sun.jvm.hotspot.ci \ 52 sun.jvm.hotspot.code \ 53 sun.jvm.hotspot.compiler \ 54 sun.jvm.hotspot.debugger \ 55 sun.jvm.hotspot.debugger.amd64 \ 56 sun.jvm.hotspot.debugger.bsd \ 57 sun.jvm.hotspot.debugger.bsd.amd64 \ 58 sun.jvm.hotspot.debugger.bsd.x86 \ 59 sun.jvm.hotspot.debugger.cdbg \ 60 sun.jvm.hotspot.debugger.cdbg.basic \ 61 sun.jvm.hotspot.debugger.cdbg.basic.amd64 \ 62 sun.jvm.hotspot.debugger.cdbg.basic.x86 \ 63 sun.jvm.hotspot.debugger.dummy \ 64 sun.jvm.hotspot.debugger.ia64 \ 65 sun.jvm.hotspot.debugger.linux \ 66 sun.jvm.hotspot.debugger.linux.amd64 \ 67 sun.jvm.hotspot.debugger.linux.ia64 \ 68 sun.jvm.hotspot.debugger.linux.x86 \ 69 sun.jvm.hotspot.debugger.posix \ 70 sun.jvm.hotspot.debugger.posix.elf \ 71 sun.jvm.hotspot.debugger.proc \ 72 sun.jvm.hotspot.debugger.proc.amd64 \ 73 sun.jvm.hotspot.debugger.proc.sparc \ 74 sun.jvm.hotspot.debugger.proc.x86 \ 75 sun.jvm.hotspot.debugger.remote \ 76 sun.jvm.hotspot.debugger.remote.amd64 \ 77 sun.jvm.hotspot.debugger.remote.sparc \ 78 sun.jvm.hotspot.debugger.remote.x86 \ 79 sun.jvm.hotspot.debugger.sparc \ 80 sun.jvm.hotspot.debugger.win32.coff \ 81 sun.jvm.hotspot.debugger.windbg \ 82 sun.jvm.hotspot.debugger.windbg.amd64 \ 83 sun.jvm.hotspot.debugger.windbg.ia64 \ 84 sun.jvm.hotspot.debugger.windbg.x86 \ 85 sun.jvm.hotspot.debugger.x86 \ 86 sun.jvm.hotspot.gc_implementation \ 87 sun.jvm.hotspot.gc_implementation.parallelScavenge \ 88 sun.jvm.hotspot.gc_implementation.shared \ 89 sun.jvm.hotspot.gc_interface \ 90 sun.jvm.hotspot.interpreter \ 91 sun.jvm.hotspot.jdi \ 92 sun.jvm.hotspot.livejvm \ 93 sun.jvm.hotspot.memory \ 94 sun.jvm.hotspot.opto \ 95 sun.jvm.hotspot.oops \ 96 sun.jvm.hotspot.prims \ 97 sun.jvm.hotspot.runtime \ 98 sun.jvm.hotspot.runtime.amd64 \ 99 sun.jvm.hotspot.runtime.bsd \ 100 sun.jvm.hotspot.runtime.bsd_amd64 \ 101 sun.jvm.hotspot.runtime.bsd_x86 \ 102 sun.jvm.hotspot.runtime.ia64 \ 103 sun.jvm.hotspot.runtime.linux \ 104 sun.jvm.hotspot.runtime.linux_amd64 \ 105 sun.jvm.hotspot.runtime.linux_ia64 \ 106 sun.jvm.hotspot.runtime.linux_sparc \ 107 sun.jvm.hotspot.runtime.linux_x86 \ 108 sun.jvm.hotspot.runtime.posix \ 109 sun.jvm.hotspot.runtime.solaris_amd64 \ 110 sun.jvm.hotspot.runtime.solaris_sparc \ 111 sun.jvm.hotspot.runtime.solaris_x86 \ 112 sun.jvm.hotspot.runtime.sparc \ 113 sun.jvm.hotspot.runtime.win32_amd64 \ 114 sun.jvm.hotspot.runtime.win32_ia64 \ 115 sun.jvm.hotspot.runtime.win32_x86 \ 116 sun.jvm.hotspot.runtime.x86 \ 117 sun.jvm.hotspot.tools \ 118 sun.jvm.hotspot.tools.jcore \ 119 sun.jvm.hotspot.tools.soql \ 120 sun.jvm.hotspot.types \ 121 sun.jvm.hotspot.types.basic \ 122 sun.jvm.hotspot.ui \ 123 sun.jvm.hotspot.ui.action \ 124 sun.jvm.hotspot.ui.classbrowser \ 125 sun.jvm.hotspot.ui.resources \ 126 sun.jvm.hotspot.ui.table \ 127 sun.jvm.hotspot.ui.tree \ 128 sun.jvm.hotspot.ui.treetable \ 129 sun.jvm.hotspot.utilities \ 130 sun.jvm.hotspot.utilities.memo \ 131 sun.jvm.hotspot.utilities.soql \ 132 com.sun.java.swing.action \ 133 com.sun.java.swing.ui 134 #END PKGLIST 135 136 # Generated using the build-filelist script 137 FILELIST = \ 138 sun/jvm/hotspot/*.java \ 139 sun/jvm/hotspot/asm/*.java \ 140 sun/jvm/hotspot/asm/amd64/*.java \ 141 sun/jvm/hotspot/asm/ia64/*.java \ 142 sun/jvm/hotspot/asm/sparc/*.java \ 143 sun/jvm/hotspot/asm/x86/*.java \ 144 sun/jvm/hotspot/bugspot/*.java \ 145 sun/jvm/hotspot/bugspot/tree/*.java \ 146 sun/jvm/hotspot/c1/*.java \ 147 sun/jvm/hotspot/ci/*.java \ 148 sun/jvm/hotspot/code/*.java \ 149 sun/jvm/hotspot/compiler/*.java \ 150 sun/jvm/hotspot/debugger/*.java \ 151 sun/jvm/hotspot/debugger/amd64/*.java \ 152 sun/jvm/hotspot/debugger/bsd/*.java \ 153 sun/jvm/hotspot/debugger/bsd/amd64/*.java \ 154 sun/jvm/hotspot/debugger/bsd/x86/*.java \ 155 sun/jvm/hotspot/debugger/cdbg/*.java \ 156 sun/jvm/hotspot/debugger/cdbg/basic/*.java \ 157 sun/jvm/hotspot/debugger/cdbg/basic/amd64/*.java \ 158 sun/jvm/hotspot/debugger/cdbg/basic/x86/*.java \ 159 sun/jvm/hotspot/debugger/dummy/*.java \ 160 sun/jvm/hotspot/debugger/ia64/*.java \ 161 sun/jvm/hotspot/debugger/linux/*.java \ 162 sun/jvm/hotspot/debugger/linux/x86/*.java \ 163 sun/jvm/hotspot/debugger/posix/*.java \ 164 sun/jvm/hotspot/debugger/posix/elf/*.java \ 165 sun/jvm/hotspot/debugger/proc/*.java \ 166 sun/jvm/hotspot/debugger/proc/amd64/*.java \ 167 sun/jvm/hotspot/debugger/proc/sparc/*.java \ 168 sun/jvm/hotspot/debugger/proc/x86/*.java \ 169 sun/jvm/hotspot/debugger/remote/*.java \ 170 sun/jvm/hotspot/debugger/remote/amd64/*.java \ 171 sun/jvm/hotspot/debugger/remote/sparc/*.java \ 172 sun/jvm/hotspot/debugger/remote/x86/*.java \ 173 sun/jvm/hotspot/debugger/sparc/*.java \ 174 sun/jvm/hotspot/debugger/win32/coff/*.java \ 175 sun/jvm/hotspot/debugger/windbg/*.java \ 176 sun/jvm/hotspot/debugger/windbg/ia64/*.java \ 177 sun/jvm/hotspot/debugger/windbg/x86/*.java \ 178 sun/jvm/hotspot/debugger/x86/*.java \ 179 sun/jvm/hotspot/interpreter/*.java \ 180 sun/jvm/hotspot/jdi/*.java \ 181 sun/jvm/hotspot/livejvm/*.java \ 182 sun/jvm/hotspot/memory/*.java \ 183 sun/jvm/hotspot/oops/*.java \ 184 sun/jvm/hotspot/opto/*.java \ 185 sun/jvm/hotspot/prims/*.java \ 186 sun/jvm/hotspot/runtime/*.java \ 187 sun/jvm/hotspot/runtime/amd64/*.java \ 188 sun/jvm/hotspot/runtime/bsd/*.java \ 189 sun/jvm/hotspot/runtime/bsd_amd64/*.java \ 190 sun/jvm/hotspot/runtime/bsd_x86/*.java \ 191 sun/jvm/hotspot/runtime/ia64/*.java \ 192 sun/jvm/hotspot/runtime/linux/*.java \ 193 sun/jvm/hotspot/runtime/linux_amd64/*.java \ 194 sun/jvm/hotspot/runtime/linux_ia64/*.java \ 195 sun/jvm/hotspot/runtime/linux_sparc/*.java \ 196 sun/jvm/hotspot/runtime/linux_x86/*.java \ 197 sun/jvm/hotspot/runtime/posix/*.java \ 198 sun/jvm/hotspot/runtime/solaris_amd64/*.java \ 199 sun/jvm/hotspot/runtime/solaris_sparc/*.java \ 200 sun/jvm/hotspot/runtime/solaris_x86/*.java \ 201 sun/jvm/hotspot/runtime/sparc/*.java \ 202 sun/jvm/hotspot/runtime/win32_amd64/*.java \ 203 sun/jvm/hotspot/runtime/win32_ia64/*.java \ 204 sun/jvm/hotspot/runtime/win32_x86/*.java \ 205 sun/jvm/hotspot/runtime/x86/*.java \ 206 sun/jvm/hotspot/tools/*.java \ 207 sun/jvm/hotspot/tools/jcore/*.java \ 208 sun/jvm/hotspot/tools/soql/*.java \ 209 sun/jvm/hotspot/types/*.java \ 210 sun/jvm/hotspot/types/basic/*.java \ 211 sun/jvm/hotspot/ui/*.java \ 212 sun/jvm/hotspot/ui/action/*.java \ 213 sun/jvm/hotspot/ui/classbrowser/*.java \ 214 sun/jvm/hotspot/ui/table/*.java \ 215 sun/jvm/hotspot/ui/tree/*.java \ 216 sun/jvm/hotspot/ui/treetable/*.java \ 217 sun/jvm/hotspot/utilities/*.java \ 218 sun/jvm/hotspot/utilities/memo/*.java \ 219 sun/jvm/hotspot/utilities/soql/*.java \ 220 com/sun/java/swing/action/*.java \ 221 com/sun/java/swing/ui/*.java 222 #END FILELIST 223 224 ifneq "x$(ALT_BOOTDIR)" "x" 225 BOOTDIR := $(ALT_BOOTDIR) 226 endif 227 228 ifeq "x$(BOOTDIR)" "x" 229 JDK_HOME := $(shell dirname $(shell which java))/.. 230 else 231 JDK_HOME := $(BOOTDIR) 232 endif 233 234 isUnix := $(shell test -r c:/; echo $$?) 235 236 ifeq "$(isUnix)" "1" 237 CPS := : 238 else 239 CPS := ";" 240 endif 241 242 SRC_DIR = ../src/share/classes 243 BUILD_DIR = ../build 244 OUTPUT_DIR = $(BUILD_DIR)/classes 245 DOC_DIR = $(BUILD_DIR)/doc 246 247 # gnumake 3.78.1 does not accept the *s, 248 # so use the shell to expand them 249 ALLFILES := $(patsubst %,$(SRC_DIR)/%,$(FILELIST)) 250 ALLFILES := $(shell /bin/ls $(ALLFILES)) 251 252 # tools.jar is used by the sa-jdi binding 253 CLASSPATH = $(JDK_HOME)/lib/tools.jar 254 255 CLASSPATH := $(subst \,/,$(CLASSPATH)) 256 257 # FIXME: autogenerate call to rmic 258 259 SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)" 260 261 SA_PROPERTIES = $(OUTPUT_DIR)/sa.properties 262 JAVAC = $(JDK_HOME)/bin/javac 263 JAVADOC = $(JDK_HOME)/bin/javadoc 264 RMIC = $(JDK_HOME)/bin/rmic 265 266 # Tagging it on because there's no reason not to run it 267 all: filelist 268 @mkdir -p $(OUTPUT_DIR) 269 @echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) 270 $(JAVAC) -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist 271 $(RMIC) -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer 272 rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js 273 cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql 274 mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources 275 rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/* 276 cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/ 277 cp -r $(SRC_DIR)/images/* $(OUTPUT_DIR)/ 278 279 allprof: filelist 280 @mkdir -p $(OUTPUT_DIR) 281 @echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) 282 $(JAVAC) -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist 283 $(RMIC) -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer 284 rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js 285 cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql 286 mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources 287 rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/* 288 cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/ 289 cp -r $(SRC_DIR)/images/* $(OUTPUT_DIR)/ 290 291 .PHONY: filelist 292 filelist: $(ALLFILES) 293 @if [ ! -f $(JDK_HOME)/lib/tools.jar ] ; then \ 294 echo "Missing $(JDK_HOME)/lib/tools.jar file. Use 1.6.0 or later version jdk to build SA."; \ 295 echo ""; \ 296 exit 1; \ 297 fi 298 @rm -f $@ 299 @echo $(ALLFILES) > $@ 300 301 .PHONY: natives 302 natives: 303 cd ../src/os/`java -classpath $(OUTPUT_DIR) sun.jvm.hotspot.utilities.PlatformInfo`; $(MAKE) all 304 305 .PHONY: sa-jdi.jar 306 sa-jdi.jar: 307 echo "sa-jdi.jar is built by a hotspot build." 308 309 docs: 310 @$(JAVADOC) -private -classpath $(CLASSPATH) -sourcepath $(SRC_DIR) -d $(DOC_DIR) $(PKGLIST) 311 312 sizes: $(ALLFILES) 313 wc -l $(ALLFILES) 314 315 cscope: $(ALLFILES) 316 rm -f java.files 317 echo $(ALLFILES) > java.files 318 cscope -b -i java.files -f java.out 319 rm -f java.files 320 321 .PHONY: sa.jar 322 sa.jar: 323 rm -f $(BUILD_DIR)/sa.jar 324 cd $(OUTPUT_DIR) ; jar cvf ../sa.jar * 325 326 clean:: 327 rm -rf filelist 328 cd ../src/os/`java -classpath $(OUTPUT_DIR) sun.jvm.hotspot.utilities.PlatformInfo`; $(MAKE) clean 329 rm -rf $(BUILD_DIR)/*