agent/make/Makefile

Thu, 06 Oct 2011 13:28:09 -0400

author
tonyp
date
Thu, 06 Oct 2011 13:28:09 -0400
changeset 3183
fd65bc7c09b6
parent 3156
f08d439fab8c
parent 3168
4f93f0d00802
child 4093
5a98bf7d847b
permissions
-rw-r--r--

Merge

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

mercurial