duke@435: # minqi@4093: # Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. duke@435: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. duke@435: # duke@435: # This code is free software; you can redistribute it and/or modify it duke@435: # under the terms of the GNU General Public License version 2 only, as duke@435: # published by the Free Software Foundation. duke@435: # duke@435: # This code is distributed in the hope that it will be useful, but WITHOUT duke@435: # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or duke@435: # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License duke@435: # version 2 for more details (a copy is included in the LICENSE file that duke@435: # accompanied this code). duke@435: # duke@435: # You should have received a copy of the GNU General Public License version duke@435: # 2 along with this work; if not, write to the Free Software Foundation, duke@435: # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. duke@435: # trims@1907: # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA trims@1907: # or visit www.oracle.com if you need additional information or have any trims@1907: # questions. duke@435: # duke@435: # duke@435: duke@435: # This guards against adding broken .java files to the directory duke@435: # hierarchy, but may be a pain to keep in sync duke@435: duke@435: # Generated using the build-pkglist script duke@435: ifeq "x$(GAMMADIR)" "x" duke@435: include ../../make/defs.make duke@435: else duke@435: include $(GAMMADIR)/make/defs.make duke@435: endif duke@435: swamyv@693: ifeq "x$(HOTSPOT_BUILD_VERSION)" "x" swamyv@693: SA_BUILD_VERSION=$(HOTSPOT_RELEASE_VERSION) swamyv@693: else swamyv@693: SA_BUILD_VERSION=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION) swamyv@693: endif swamyv@693: duke@435: PKGLIST = \ duke@435: sun.jvm.hotspot \ duke@435: sun.jvm.hotspot.asm \ duke@435: sun.jvm.hotspot.asm.sparc \ duke@435: sun.jvm.hotspot.bugspot \ duke@435: sun.jvm.hotspot.bugspot.tree \ duke@435: sun.jvm.hotspot.c1 \ never@3138: sun.jvm.hotspot.ci \ duke@435: sun.jvm.hotspot.code \ duke@435: sun.jvm.hotspot.compiler \ duke@435: sun.jvm.hotspot.debugger \ duke@435: sun.jvm.hotspot.debugger.amd64 \ never@3156: sun.jvm.hotspot.debugger.bsd \ never@3156: sun.jvm.hotspot.debugger.bsd.amd64 \ never@3156: sun.jvm.hotspot.debugger.bsd.x86 \ duke@435: sun.jvm.hotspot.debugger.cdbg \ duke@435: sun.jvm.hotspot.debugger.cdbg.basic \ duke@435: sun.jvm.hotspot.debugger.cdbg.basic.amd64 \ duke@435: sun.jvm.hotspot.debugger.cdbg.basic.x86 \ duke@435: sun.jvm.hotspot.debugger.dummy \ duke@435: sun.jvm.hotspot.debugger.ia64 \ duke@435: sun.jvm.hotspot.debugger.linux \ duke@435: sun.jvm.hotspot.debugger.linux.amd64 \ duke@435: sun.jvm.hotspot.debugger.linux.ia64 \ duke@435: sun.jvm.hotspot.debugger.linux.x86 \ duke@435: sun.jvm.hotspot.debugger.posix \ duke@435: sun.jvm.hotspot.debugger.posix.elf \ duke@435: sun.jvm.hotspot.debugger.proc \ duke@435: sun.jvm.hotspot.debugger.proc.amd64 \ duke@435: sun.jvm.hotspot.debugger.proc.sparc \ duke@435: sun.jvm.hotspot.debugger.proc.x86 \ duke@435: sun.jvm.hotspot.debugger.remote \ duke@435: sun.jvm.hotspot.debugger.remote.amd64 \ duke@435: sun.jvm.hotspot.debugger.remote.sparc \ duke@435: sun.jvm.hotspot.debugger.remote.x86 \ duke@435: sun.jvm.hotspot.debugger.sparc \ duke@435: sun.jvm.hotspot.debugger.win32.coff \ duke@435: sun.jvm.hotspot.debugger.windbg \ duke@435: sun.jvm.hotspot.debugger.windbg.amd64 \ duke@435: sun.jvm.hotspot.debugger.windbg.ia64 \ duke@435: sun.jvm.hotspot.debugger.windbg.x86 \ duke@435: sun.jvm.hotspot.debugger.x86 \ duke@435: sun.jvm.hotspot.gc_implementation \ tonyp@3168: sun.jvm.hotspot.gc_implementation.g1 \ duke@435: sun.jvm.hotspot.gc_implementation.parallelScavenge \ duke@435: sun.jvm.hotspot.gc_implementation.shared \ duke@435: sun.jvm.hotspot.gc_interface \ duke@435: sun.jvm.hotspot.interpreter \ duke@435: sun.jvm.hotspot.jdi \ duke@435: sun.jvm.hotspot.livejvm \ duke@435: sun.jvm.hotspot.memory \ never@3138: sun.jvm.hotspot.opto \ duke@435: sun.jvm.hotspot.oops \ never@3138: sun.jvm.hotspot.prims \ duke@435: sun.jvm.hotspot.runtime \ duke@435: sun.jvm.hotspot.runtime.amd64 \ never@3156: sun.jvm.hotspot.runtime.bsd \ never@3156: sun.jvm.hotspot.runtime.bsd_amd64 \ never@3156: sun.jvm.hotspot.runtime.bsd_x86 \ duke@435: sun.jvm.hotspot.runtime.ia64 \ duke@435: sun.jvm.hotspot.runtime.linux \ duke@435: sun.jvm.hotspot.runtime.linux_amd64 \ duke@435: sun.jvm.hotspot.runtime.linux_ia64 \ duke@435: sun.jvm.hotspot.runtime.linux_sparc \ duke@435: sun.jvm.hotspot.runtime.linux_x86 \ duke@435: sun.jvm.hotspot.runtime.posix \ duke@435: sun.jvm.hotspot.runtime.solaris_amd64 \ duke@435: sun.jvm.hotspot.runtime.solaris_sparc \ duke@435: sun.jvm.hotspot.runtime.solaris_x86 \ duke@435: sun.jvm.hotspot.runtime.sparc \ duke@435: sun.jvm.hotspot.runtime.win32_amd64 \ duke@435: sun.jvm.hotspot.runtime.win32_ia64 \ duke@435: sun.jvm.hotspot.runtime.win32_x86 \ duke@435: sun.jvm.hotspot.runtime.x86 \ duke@435: sun.jvm.hotspot.tools \ duke@435: sun.jvm.hotspot.tools.jcore \ duke@435: sun.jvm.hotspot.tools.soql \ duke@435: sun.jvm.hotspot.types \ duke@435: sun.jvm.hotspot.types.basic \ duke@435: sun.jvm.hotspot.ui \ duke@435: sun.jvm.hotspot.ui.action \ duke@435: sun.jvm.hotspot.ui.classbrowser \ duke@435: sun.jvm.hotspot.ui.resources \ duke@435: sun.jvm.hotspot.ui.table \ duke@435: sun.jvm.hotspot.ui.tree \ duke@435: sun.jvm.hotspot.ui.treetable \ duke@435: sun.jvm.hotspot.utilities \ duke@435: sun.jvm.hotspot.utilities.memo \ swamyv@693: sun.jvm.hotspot.utilities.soql \ swamyv@693: com.sun.java.swing.action \ swamyv@693: com.sun.java.swing.ui duke@435: #END PKGLIST duke@435: duke@435: # Generated using the build-filelist script duke@435: FILELIST = \ duke@435: sun/jvm/hotspot/*.java \ duke@435: sun/jvm/hotspot/asm/*.java \ duke@435: sun/jvm/hotspot/asm/sparc/*.java \ duke@435: sun/jvm/hotspot/bugspot/*.java \ duke@435: sun/jvm/hotspot/bugspot/tree/*.java \ duke@435: sun/jvm/hotspot/c1/*.java \ never@3138: sun/jvm/hotspot/ci/*.java \ duke@435: sun/jvm/hotspot/code/*.java \ duke@435: sun/jvm/hotspot/compiler/*.java \ duke@435: sun/jvm/hotspot/debugger/*.java \ duke@435: sun/jvm/hotspot/debugger/amd64/*.java \ never@3156: sun/jvm/hotspot/debugger/bsd/*.java \ never@3156: sun/jvm/hotspot/debugger/bsd/amd64/*.java \ never@3156: sun/jvm/hotspot/debugger/bsd/x86/*.java \ duke@435: sun/jvm/hotspot/debugger/cdbg/*.java \ duke@435: sun/jvm/hotspot/debugger/cdbg/basic/*.java \ duke@435: sun/jvm/hotspot/debugger/cdbg/basic/amd64/*.java \ duke@435: sun/jvm/hotspot/debugger/cdbg/basic/x86/*.java \ duke@435: sun/jvm/hotspot/debugger/dummy/*.java \ duke@435: sun/jvm/hotspot/debugger/ia64/*.java \ duke@435: sun/jvm/hotspot/debugger/linux/*.java \ duke@435: sun/jvm/hotspot/debugger/linux/x86/*.java \ duke@435: sun/jvm/hotspot/debugger/posix/*.java \ duke@435: sun/jvm/hotspot/debugger/posix/elf/*.java \ duke@435: sun/jvm/hotspot/debugger/proc/*.java \ duke@435: sun/jvm/hotspot/debugger/proc/amd64/*.java \ duke@435: sun/jvm/hotspot/debugger/proc/sparc/*.java \ duke@435: sun/jvm/hotspot/debugger/proc/x86/*.java \ duke@435: sun/jvm/hotspot/debugger/remote/*.java \ duke@435: sun/jvm/hotspot/debugger/remote/amd64/*.java \ duke@435: sun/jvm/hotspot/debugger/remote/sparc/*.java \ duke@435: sun/jvm/hotspot/debugger/remote/x86/*.java \ duke@435: sun/jvm/hotspot/debugger/sparc/*.java \ duke@435: sun/jvm/hotspot/debugger/win32/coff/*.java \ duke@435: sun/jvm/hotspot/debugger/windbg/*.java \ duke@435: sun/jvm/hotspot/debugger/windbg/ia64/*.java \ duke@435: sun/jvm/hotspot/debugger/windbg/x86/*.java \ duke@435: sun/jvm/hotspot/debugger/x86/*.java \ tonyp@3168: sun/jvm/hotspot/gc_implementation/g1/*.java \ tonyp@3168: sun/jvm/hotspot/gc_implementation/parallelScavenge/*.java \ tonyp@3168: sun/jvm/hotspot/gc_implementation/shared/*.java \ duke@435: sun/jvm/hotspot/interpreter/*.java \ duke@435: sun/jvm/hotspot/jdi/*.java \ duke@435: sun/jvm/hotspot/livejvm/*.java \ duke@435: sun/jvm/hotspot/memory/*.java \ duke@435: sun/jvm/hotspot/oops/*.java \ never@3138: sun/jvm/hotspot/opto/*.java \ never@3138: sun/jvm/hotspot/prims/*.java \ duke@435: sun/jvm/hotspot/runtime/*.java \ duke@435: sun/jvm/hotspot/runtime/amd64/*.java \ never@3156: sun/jvm/hotspot/runtime/bsd/*.java \ never@3156: sun/jvm/hotspot/runtime/bsd_amd64/*.java \ never@3156: sun/jvm/hotspot/runtime/bsd_x86/*.java \ duke@435: sun/jvm/hotspot/runtime/ia64/*.java \ duke@435: sun/jvm/hotspot/runtime/linux/*.java \ duke@435: sun/jvm/hotspot/runtime/linux_amd64/*.java \ duke@435: sun/jvm/hotspot/runtime/linux_ia64/*.java \ duke@435: sun/jvm/hotspot/runtime/linux_sparc/*.java \ duke@435: sun/jvm/hotspot/runtime/linux_x86/*.java \ duke@435: sun/jvm/hotspot/runtime/posix/*.java \ duke@435: sun/jvm/hotspot/runtime/solaris_amd64/*.java \ duke@435: sun/jvm/hotspot/runtime/solaris_sparc/*.java \ duke@435: sun/jvm/hotspot/runtime/solaris_x86/*.java \ duke@435: sun/jvm/hotspot/runtime/sparc/*.java \ duke@435: sun/jvm/hotspot/runtime/win32_amd64/*.java \ duke@435: sun/jvm/hotspot/runtime/win32_ia64/*.java \ duke@435: sun/jvm/hotspot/runtime/win32_x86/*.java \ duke@435: sun/jvm/hotspot/runtime/x86/*.java \ duke@435: sun/jvm/hotspot/tools/*.java \ duke@435: sun/jvm/hotspot/tools/jcore/*.java \ duke@435: sun/jvm/hotspot/tools/soql/*.java \ duke@435: sun/jvm/hotspot/types/*.java \ duke@435: sun/jvm/hotspot/types/basic/*.java \ duke@435: sun/jvm/hotspot/ui/*.java \ duke@435: sun/jvm/hotspot/ui/action/*.java \ duke@435: sun/jvm/hotspot/ui/classbrowser/*.java \ duke@435: sun/jvm/hotspot/ui/table/*.java \ duke@435: sun/jvm/hotspot/ui/tree/*.java \ duke@435: sun/jvm/hotspot/ui/treetable/*.java \ duke@435: sun/jvm/hotspot/utilities/*.java \ duke@435: sun/jvm/hotspot/utilities/memo/*.java \ swamyv@693: sun/jvm/hotspot/utilities/soql/*.java \ swamyv@693: com/sun/java/swing/action/*.java \ swamyv@693: com/sun/java/swing/ui/*.java duke@435: #END FILELIST duke@435: duke@435: ifneq "x$(ALT_BOOTDIR)" "x" duke@435: BOOTDIR := $(ALT_BOOTDIR) duke@435: endif duke@435: duke@435: ifeq "x$(BOOTDIR)" "x" duke@435: JDK_HOME := $(shell dirname $(shell which java))/.. duke@435: else duke@435: JDK_HOME := $(BOOTDIR) duke@435: endif duke@435: duke@435: isUnix := $(shell test -r c:/; echo $$?) duke@435: duke@435: ifeq "$(isUnix)" "1" duke@435: CPS := : duke@435: else duke@435: CPS := ";" duke@435: endif duke@435: duke@435: SRC_DIR = ../src/share/classes duke@435: BUILD_DIR = ../build duke@435: OUTPUT_DIR = $(BUILD_DIR)/classes duke@435: DOC_DIR = $(BUILD_DIR)/doc duke@435: duke@435: # gnumake 3.78.1 does not accept the *s, duke@435: # so use the shell to expand them duke@435: ALLFILES := $(patsubst %,$(SRC_DIR)/%,$(FILELIST)) duke@435: ALLFILES := $(shell /bin/ls $(ALLFILES)) duke@435: swamyv@693: # tools.jar is used by the sa-jdi binding swamyv@693: CLASSPATH = $(JDK_HOME)/lib/tools.jar duke@435: duke@435: CLASSPATH := $(subst \,/,$(CLASSPATH)) duke@435: duke@435: # FIXME: autogenerate call to rmic duke@435: duke@435: SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)" duke@435: duke@435: SA_PROPERTIES = $(OUTPUT_DIR)/sa.properties swamyv@693: JAVAC = $(JDK_HOME)/bin/javac swamyv@693: JAVADOC = $(JDK_HOME)/bin/javadoc swamyv@693: RMIC = $(JDK_HOME)/bin/rmic duke@435: duke@435: # Tagging it on because there's no reason not to run it duke@435: all: filelist duke@435: @mkdir -p $(OUTPUT_DIR) duke@435: @echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) never@2872: $(JAVAC) -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist swamyv@693: $(RMIC) -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer duke@435: rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js duke@435: cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql swamyv@693: mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources swamyv@693: rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/* swamyv@693: cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/ swamyv@693: cp -r $(SRC_DIR)/images/* $(OUTPUT_DIR)/ duke@435: duke@435: allprof: filelist duke@435: @mkdir -p $(OUTPUT_DIR) duke@435: @echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) never@2872: $(JAVAC) -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist swamyv@693: $(RMIC) -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer duke@435: rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js duke@435: cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql swamyv@693: mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources swamyv@693: rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/* swamyv@693: cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/ swamyv@693: cp -r $(SRC_DIR)/images/* $(OUTPUT_DIR)/ duke@435: swamyv@693: .PHONY: filelist duke@435: filelist: $(ALLFILES) duke@435: @if [ ! -f $(JDK_HOME)/lib/tools.jar ] ; then \ duke@435: echo "Missing $(JDK_HOME)/lib/tools.jar file. Use 1.6.0 or later version jdk to build SA."; \ duke@435: echo ""; \ duke@435: exit 1; \ duke@435: fi duke@435: @rm -f $@ duke@435: @echo $(ALLFILES) > $@ duke@435: duke@435: .PHONY: natives duke@435: natives: duke@435: cd ../src/os/`java -classpath $(OUTPUT_DIR) sun.jvm.hotspot.utilities.PlatformInfo`; $(MAKE) all duke@435: duke@435: .PHONY: sa-jdi.jar duke@435: sa-jdi.jar: swamyv@693: echo "sa-jdi.jar is built by a hotspot build." duke@435: duke@435: docs: swamyv@693: @$(JAVADOC) -private -classpath $(CLASSPATH) -sourcepath $(SRC_DIR) -d $(DOC_DIR) $(PKGLIST) duke@435: duke@435: sizes: $(ALLFILES) duke@435: wc -l $(ALLFILES) duke@435: duke@435: cscope: $(ALLFILES) swamyv@693: rm -f java.files duke@435: echo $(ALLFILES) > java.files duke@435: cscope -b -i java.files -f java.out swamyv@693: rm -f java.files duke@435: duke@435: .PHONY: sa.jar duke@435: sa.jar: duke@435: rm -f $(BUILD_DIR)/sa.jar duke@435: cd $(OUTPUT_DIR) ; jar cvf ../sa.jar * duke@435: duke@435: clean:: duke@435: rm -rf filelist duke@435: cd ../src/os/`java -classpath $(OUTPUT_DIR) sun.jvm.hotspot.utilities.PlatformInfo`; $(MAKE) clean duke@435: rm -rf $(BUILD_DIR)/*