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