agent/make/Makefile

Wed, 27 Apr 2016 01:25:04 +0800

author
aoqi
date
Wed, 27 Apr 2016 01:25:04 +0800
changeset 0
f90c822e73f8
child 6876
710a3c8b516e
permissions
-rw-r--r--

Initial load
http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/
changeset: 6782:28b50d07f6f8
tag: jdk8u25-b17

aoqi@0 1 #
aoqi@0 2 # Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
aoqi@0 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
aoqi@0 4 #
aoqi@0 5 # This code is free software; you can redistribute it and/or modify it
aoqi@0 6 # under the terms of the GNU General Public License version 2 only, as
aoqi@0 7 # published by the Free Software Foundation.
aoqi@0 8 #
aoqi@0 9 # This code is distributed in the hope that it will be useful, but WITHOUT
aoqi@0 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aoqi@0 11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aoqi@0 12 # version 2 for more details (a copy is included in the LICENSE file that
aoqi@0 13 # accompanied this code).
aoqi@0 14 #
aoqi@0 15 # You should have received a copy of the GNU General Public License version
aoqi@0 16 # 2 along with this work; if not, write to the Free Software Foundation,
aoqi@0 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
aoqi@0 18 #
aoqi@0 19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
aoqi@0 20 # or visit www.oracle.com if you need additional information or have any
aoqi@0 21 # questions.
aoqi@0 22 #
aoqi@0 23 #
aoqi@0 24
aoqi@0 25 # This guards against adding broken .java files to the directory
aoqi@0 26 # hierarchy, but may be a pain to keep in sync
aoqi@0 27
aoqi@0 28 # Generated using the build-pkglist script
aoqi@0 29 ifeq "x$(GAMMADIR)" "x"
aoqi@0 30 include ../../make/defs.make
aoqi@0 31 else
aoqi@0 32 include $(GAMMADIR)/make/defs.make
aoqi@0 33 endif
aoqi@0 34
aoqi@0 35 ifeq "x$(HOTSPOT_BUILD_VERSION)" "x"
aoqi@0 36 SA_BUILD_VERSION=$(HOTSPOT_RELEASE_VERSION)
aoqi@0 37 else
aoqi@0 38 SA_BUILD_VERSION=$(HOTSPOT_RELEASE_VERSION)-$(HOTSPOT_BUILD_VERSION)
aoqi@0 39 endif
aoqi@0 40
aoqi@0 41 PKGLIST = \
aoqi@0 42 sun.jvm.hotspot \
aoqi@0 43 sun.jvm.hotspot.asm \
aoqi@0 44 sun.jvm.hotspot.asm.sparc \
aoqi@0 45 sun.jvm.hotspot.c1 \
aoqi@0 46 sun.jvm.hotspot.ci \
aoqi@0 47 sun.jvm.hotspot.code \
aoqi@0 48 sun.jvm.hotspot.compiler \
aoqi@0 49 sun.jvm.hotspot.debugger \
aoqi@0 50 sun.jvm.hotspot.debugger.amd64 \
aoqi@0 51 sun.jvm.hotspot.debugger.bsd \
aoqi@0 52 sun.jvm.hotspot.debugger.bsd.amd64 \
aoqi@0 53 sun.jvm.hotspot.debugger.bsd.x86 \
aoqi@0 54 sun.jvm.hotspot.debugger.cdbg \
aoqi@0 55 sun.jvm.hotspot.debugger.cdbg.basic \
aoqi@0 56 sun.jvm.hotspot.debugger.cdbg.basic.amd64 \
aoqi@0 57 sun.jvm.hotspot.debugger.cdbg.basic.x86 \
aoqi@0 58 sun.jvm.hotspot.debugger.dummy \
aoqi@0 59 sun.jvm.hotspot.debugger.linux \
aoqi@0 60 sun.jvm.hotspot.debugger.linux.amd64 \
aoqi@0 61 sun.jvm.hotspot.debugger.linux.x86 \
aoqi@0 62 sun.jvm.hotspot.debugger.posix \
aoqi@0 63 sun.jvm.hotspot.debugger.posix.elf \
aoqi@0 64 sun.jvm.hotspot.debugger.proc \
aoqi@0 65 sun.jvm.hotspot.debugger.proc.amd64 \
aoqi@0 66 sun.jvm.hotspot.debugger.proc.sparc \
aoqi@0 67 sun.jvm.hotspot.debugger.proc.x86 \
aoqi@0 68 sun.jvm.hotspot.debugger.remote \
aoqi@0 69 sun.jvm.hotspot.debugger.remote.amd64 \
aoqi@0 70 sun.jvm.hotspot.debugger.remote.sparc \
aoqi@0 71 sun.jvm.hotspot.debugger.remote.x86 \
aoqi@0 72 sun.jvm.hotspot.debugger.sparc \
aoqi@0 73 sun.jvm.hotspot.debugger.win32.coff \
aoqi@0 74 sun.jvm.hotspot.debugger.windbg \
aoqi@0 75 sun.jvm.hotspot.debugger.windbg.amd64 \
aoqi@0 76 sun.jvm.hotspot.debugger.windbg.x86 \
aoqi@0 77 sun.jvm.hotspot.debugger.x86 \
aoqi@0 78 sun.jvm.hotspot.gc_implementation \
aoqi@0 79 sun.jvm.hotspot.gc_implementation.g1 \
aoqi@0 80 sun.jvm.hotspot.gc_implementation.parallelScavenge \
aoqi@0 81 sun.jvm.hotspot.gc_implementation.shared \
aoqi@0 82 sun.jvm.hotspot.gc_interface \
aoqi@0 83 sun.jvm.hotspot.interpreter \
aoqi@0 84 sun.jvm.hotspot.jdi \
aoqi@0 85 sun.jvm.hotspot.memory \
aoqi@0 86 sun.jvm.hotspot.opto \
aoqi@0 87 sun.jvm.hotspot.oops \
aoqi@0 88 sun.jvm.hotspot.prims \
aoqi@0 89 sun.jvm.hotspot.runtime \
aoqi@0 90 sun.jvm.hotspot.runtime.amd64 \
aoqi@0 91 sun.jvm.hotspot.runtime.bsd \
aoqi@0 92 sun.jvm.hotspot.runtime.bsd_amd64 \
aoqi@0 93 sun.jvm.hotspot.runtime.bsd_x86 \
aoqi@0 94 sun.jvm.hotspot.runtime.linux \
aoqi@0 95 sun.jvm.hotspot.runtime.linux_amd64 \
aoqi@0 96 sun.jvm.hotspot.runtime.linux_sparc \
aoqi@0 97 sun.jvm.hotspot.runtime.linux_x86 \
aoqi@0 98 sun.jvm.hotspot.runtime.posix \
aoqi@0 99 sun.jvm.hotspot.runtime.solaris_amd64 \
aoqi@0 100 sun.jvm.hotspot.runtime.solaris_sparc \
aoqi@0 101 sun.jvm.hotspot.runtime.solaris_x86 \
aoqi@0 102 sun.jvm.hotspot.runtime.sparc \
aoqi@0 103 sun.jvm.hotspot.runtime.win32_amd64 \
aoqi@0 104 sun.jvm.hotspot.runtime.win32_x86 \
aoqi@0 105 sun.jvm.hotspot.runtime.x86 \
aoqi@0 106 sun.jvm.hotspot.tools \
aoqi@0 107 sun.jvm.hotspot.tools.jcore \
aoqi@0 108 sun.jvm.hotspot.tools.soql \
aoqi@0 109 sun.jvm.hotspot.types \
aoqi@0 110 sun.jvm.hotspot.types.basic \
aoqi@0 111 sun.jvm.hotspot.ui \
aoqi@0 112 sun.jvm.hotspot.ui.action \
aoqi@0 113 sun.jvm.hotspot.ui.classbrowser \
aoqi@0 114 sun.jvm.hotspot.ui.resources \
aoqi@0 115 sun.jvm.hotspot.ui.table \
aoqi@0 116 sun.jvm.hotspot.ui.tree \
aoqi@0 117 sun.jvm.hotspot.ui.treetable \
aoqi@0 118 sun.jvm.hotspot.utilities \
aoqi@0 119 sun.jvm.hotspot.utilities.memo \
aoqi@0 120 sun.jvm.hotspot.utilities.soql \
aoqi@0 121 com.sun.java.swing.action \
aoqi@0 122 com.sun.java.swing.ui
aoqi@0 123 #END PKGLIST
aoqi@0 124
aoqi@0 125 # Generated using the build-filelist script
aoqi@0 126 FILELIST = \
aoqi@0 127 sun/jvm/hotspot/*.java \
aoqi@0 128 sun/jvm/hotspot/asm/*.java \
aoqi@0 129 sun/jvm/hotspot/asm/sparc/*.java \
aoqi@0 130 sun/jvm/hotspot/c1/*.java \
aoqi@0 131 sun/jvm/hotspot/ci/*.java \
aoqi@0 132 sun/jvm/hotspot/code/*.java \
aoqi@0 133 sun/jvm/hotspot/compiler/*.java \
aoqi@0 134 sun/jvm/hotspot/debugger/*.java \
aoqi@0 135 sun/jvm/hotspot/debugger/amd64/*.java \
aoqi@0 136 sun/jvm/hotspot/debugger/bsd/*.java \
aoqi@0 137 sun/jvm/hotspot/debugger/bsd/amd64/*.java \
aoqi@0 138 sun/jvm/hotspot/debugger/bsd/x86/*.java \
aoqi@0 139 sun/jvm/hotspot/debugger/cdbg/*.java \
aoqi@0 140 sun/jvm/hotspot/debugger/cdbg/basic/*.java \
aoqi@0 141 sun/jvm/hotspot/debugger/cdbg/basic/amd64/*.java \
aoqi@0 142 sun/jvm/hotspot/debugger/cdbg/basic/x86/*.java \
aoqi@0 143 sun/jvm/hotspot/debugger/dummy/*.java \
aoqi@0 144 sun/jvm/hotspot/debugger/linux/*.java \
aoqi@0 145 sun/jvm/hotspot/debugger/linux/x86/*.java \
aoqi@0 146 sun/jvm/hotspot/debugger/posix/*.java \
aoqi@0 147 sun/jvm/hotspot/debugger/posix/elf/*.java \
aoqi@0 148 sun/jvm/hotspot/debugger/proc/*.java \
aoqi@0 149 sun/jvm/hotspot/debugger/proc/amd64/*.java \
aoqi@0 150 sun/jvm/hotspot/debugger/proc/sparc/*.java \
aoqi@0 151 sun/jvm/hotspot/debugger/proc/x86/*.java \
aoqi@0 152 sun/jvm/hotspot/debugger/remote/*.java \
aoqi@0 153 sun/jvm/hotspot/debugger/remote/amd64/*.java \
aoqi@0 154 sun/jvm/hotspot/debugger/remote/sparc/*.java \
aoqi@0 155 sun/jvm/hotspot/debugger/remote/x86/*.java \
aoqi@0 156 sun/jvm/hotspot/debugger/sparc/*.java \
aoqi@0 157 sun/jvm/hotspot/debugger/win32/coff/*.java \
aoqi@0 158 sun/jvm/hotspot/debugger/windbg/*.java \
aoqi@0 159 sun/jvm/hotspot/debugger/windbg/x86/*.java \
aoqi@0 160 sun/jvm/hotspot/debugger/x86/*.java \
aoqi@0 161 sun/jvm/hotspot/gc_implementation/g1/*.java \
aoqi@0 162 sun/jvm/hotspot/gc_implementation/parallelScavenge/*.java \
aoqi@0 163 sun/jvm/hotspot/gc_implementation/shared/*.java \
aoqi@0 164 sun/jvm/hotspot/interpreter/*.java \
aoqi@0 165 sun/jvm/hotspot/jdi/*.java \
aoqi@0 166 sun/jvm/hotspot/memory/*.java \
aoqi@0 167 sun/jvm/hotspot/oops/*.java \
aoqi@0 168 sun/jvm/hotspot/opto/*.java \
aoqi@0 169 sun/jvm/hotspot/prims/*.java \
aoqi@0 170 sun/jvm/hotspot/runtime/*.java \
aoqi@0 171 sun/jvm/hotspot/runtime/amd64/*.java \
aoqi@0 172 sun/jvm/hotspot/runtime/bsd/*.java \
aoqi@0 173 sun/jvm/hotspot/runtime/bsd_amd64/*.java \
aoqi@0 174 sun/jvm/hotspot/runtime/bsd_x86/*.java \
aoqi@0 175 sun/jvm/hotspot/runtime/linux/*.java \
aoqi@0 176 sun/jvm/hotspot/runtime/linux_amd64/*.java \
aoqi@0 177 sun/jvm/hotspot/runtime/linux_sparc/*.java \
aoqi@0 178 sun/jvm/hotspot/runtime/linux_x86/*.java \
aoqi@0 179 sun/jvm/hotspot/runtime/posix/*.java \
aoqi@0 180 sun/jvm/hotspot/runtime/solaris_amd64/*.java \
aoqi@0 181 sun/jvm/hotspot/runtime/solaris_sparc/*.java \
aoqi@0 182 sun/jvm/hotspot/runtime/solaris_x86/*.java \
aoqi@0 183 sun/jvm/hotspot/runtime/sparc/*.java \
aoqi@0 184 sun/jvm/hotspot/runtime/win32_amd64/*.java \
aoqi@0 185 sun/jvm/hotspot/runtime/win32_x86/*.java \
aoqi@0 186 sun/jvm/hotspot/runtime/x86/*.java \
aoqi@0 187 sun/jvm/hotspot/tools/*.java \
aoqi@0 188 sun/jvm/hotspot/tools/jcore/*.java \
aoqi@0 189 sun/jvm/hotspot/tools/soql/*.java \
aoqi@0 190 sun/jvm/hotspot/types/*.java \
aoqi@0 191 sun/jvm/hotspot/types/basic/*.java \
aoqi@0 192 sun/jvm/hotspot/ui/*.java \
aoqi@0 193 sun/jvm/hotspot/ui/action/*.java \
aoqi@0 194 sun/jvm/hotspot/ui/classbrowser/*.java \
aoqi@0 195 sun/jvm/hotspot/ui/table/*.java \
aoqi@0 196 sun/jvm/hotspot/ui/tree/*.java \
aoqi@0 197 sun/jvm/hotspot/ui/treetable/*.java \
aoqi@0 198 sun/jvm/hotspot/utilities/*.java \
aoqi@0 199 sun/jvm/hotspot/utilities/memo/*.java \
aoqi@0 200 sun/jvm/hotspot/utilities/soql/*.java \
aoqi@0 201 com/sun/java/swing/action/*.java \
aoqi@0 202 com/sun/java/swing/ui/*.java
aoqi@0 203 #END FILELIST
aoqi@0 204
aoqi@0 205 ifneq "x$(ALT_BOOTDIR)" "x"
aoqi@0 206 BOOTDIR := $(ALT_BOOTDIR)
aoqi@0 207 endif
aoqi@0 208
aoqi@0 209 ifeq "x$(BOOTDIR)" "x"
aoqi@0 210 JDK_HOME := $(shell dirname $(shell which java))/..
aoqi@0 211 else
aoqi@0 212 JDK_HOME := $(BOOTDIR)
aoqi@0 213 endif
aoqi@0 214
aoqi@0 215 isUnix := $(shell test -r c:/; echo $$?)
aoqi@0 216
aoqi@0 217 ifeq "$(isUnix)" "1"
aoqi@0 218 CPS := :
aoqi@0 219 else
aoqi@0 220 CPS := ";"
aoqi@0 221 endif
aoqi@0 222
aoqi@0 223 SRC_DIR = ../src/share/classes
aoqi@0 224 BUILD_DIR = ../build
aoqi@0 225 OUTPUT_DIR = $(BUILD_DIR)/classes
aoqi@0 226 DOC_DIR = $(BUILD_DIR)/doc
aoqi@0 227
aoqi@0 228 # gnumake 3.78.1 does not accept the *s,
aoqi@0 229 # so use the shell to expand them
aoqi@0 230 ALLFILES := $(patsubst %,$(SRC_DIR)/%,$(FILELIST))
aoqi@0 231 ALLFILES := $(shell /bin/ls $(ALLFILES))
aoqi@0 232
aoqi@0 233 # tools.jar is used by the sa-jdi binding
aoqi@0 234 CLASSPATH = $(JDK_HOME)/lib/tools.jar
aoqi@0 235
aoqi@0 236 CLASSPATH := $(subst \,/,$(CLASSPATH))
aoqi@0 237
aoqi@0 238 # FIXME: autogenerate call to rmic
aoqi@0 239
aoqi@0 240 SA_BUILD_VERSION_PROP = "sun.jvm.hotspot.runtime.VM.saBuildVersion=$(SA_BUILD_VERSION)"
aoqi@0 241
aoqi@0 242 SA_PROPERTIES = $(OUTPUT_DIR)/sa.properties
aoqi@0 243 JAVAC = $(JDK_HOME)/bin/javac
aoqi@0 244 JAVA = $(JDK_HOME)/bin/java
aoqi@0 245 JAVADOC = $(JDK_HOME)/bin/javadoc
aoqi@0 246 RMIC = $(JDK_HOME)/bin/rmic
aoqi@0 247
aoqi@0 248 # Tagging it on because there's no reason not to run it
aoqi@0 249 all: filelist
aoqi@0 250 @mkdir -p $(OUTPUT_DIR)
aoqi@0 251 @echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
aoqi@0 252 $(JAVAC) -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
aoqi@0 253 $(RMIC) -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
aoqi@0 254 rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
aoqi@0 255 cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
aoqi@0 256 mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources
aoqi@0 257 rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/*
aoqi@0 258 cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/
aoqi@0 259 cp -r $(SRC_DIR)/images/* $(OUTPUT_DIR)/
aoqi@0 260
aoqi@0 261 allprof: filelist
aoqi@0 262 @mkdir -p $(OUTPUT_DIR)
aoqi@0 263 @echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
aoqi@0 264 $(JAVAC) -J-Xprof -classpath $(CLASSPATH) -deprecation -sourcepath $(SRC_DIR) -g -d $(OUTPUT_DIR) @filelist
aoqi@0 265 $(RMIC) -classpath $(OUTPUT_DIR) -d $(OUTPUT_DIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
aoqi@0 266 rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql/sa.js
aoqi@0 267 cp $(SRC_DIR)/sun/jvm/hotspot/utilities/soql/sa.js $(OUTPUT_DIR)/sun/jvm/hotspot/utilities/soql
aoqi@0 268 mkdir -p $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources
aoqi@0 269 rm -f $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/*
aoqi@0 270 cp $(SRC_DIR)/sun/jvm/hotspot/ui/resources/*.png $(OUTPUT_DIR)/sun/jvm/hotspot/ui/resources/
aoqi@0 271 cp -r $(SRC_DIR)/images/* $(OUTPUT_DIR)/
aoqi@0 272
aoqi@0 273 .PHONY: filelist
aoqi@0 274 filelist: $(ALLFILES)
aoqi@0 275 @if [ ! -f $(JDK_HOME)/lib/tools.jar ] ; then \
aoqi@0 276 echo "Missing $(JDK_HOME)/lib/tools.jar file. Use 1.6.0 or later version jdk to build SA."; \
aoqi@0 277 echo ""; \
aoqi@0 278 exit 1; \
aoqi@0 279 fi
aoqi@0 280 @rm -f $@
aoqi@0 281 @echo $(ALLFILES) > $@
aoqi@0 282
aoqi@0 283 .PHONY: natives
aoqi@0 284 natives:
aoqi@0 285 cd ../src/os/`$(JAVA) -classpath $(OUTPUT_DIR) sun.jvm.hotspot.utilities.PlatformInfo`; $(MAKE) all
aoqi@0 286
aoqi@0 287 .PHONY: sa-jdi.jar
aoqi@0 288 sa-jdi.jar:
aoqi@0 289 echo "sa-jdi.jar is built by a hotspot build."
aoqi@0 290
aoqi@0 291 docs:
aoqi@0 292 @$(JAVADOC) -private -classpath $(CLASSPATH) -sourcepath $(SRC_DIR) -d $(DOC_DIR) $(PKGLIST)
aoqi@0 293
aoqi@0 294 sizes: $(ALLFILES)
aoqi@0 295 wc -l $(ALLFILES)
aoqi@0 296
aoqi@0 297 cscope: $(ALLFILES)
aoqi@0 298 rm -f java.files
aoqi@0 299 echo $(ALLFILES) > java.files
aoqi@0 300 cscope -b -i java.files -f java.out
aoqi@0 301 rm -f java.files
aoqi@0 302
aoqi@0 303 .PHONY: sa.jar
aoqi@0 304 sa.jar:
aoqi@0 305 rm -f $(BUILD_DIR)/sa.jar
aoqi@0 306 cd $(OUTPUT_DIR) ; jar cvf ../sa.jar *
aoqi@0 307
aoqi@0 308 clean::
aoqi@0 309 rm -rf filelist
aoqi@0 310 cd ../src/os/`$(JAVA) -classpath $(OUTPUT_DIR) sun.jvm.hotspot.utilities.PlatformInfo`; $(MAKE) clean
aoqi@0 311 rm -rf $(BUILD_DIR)/*

mercurial