Thu, 06 Oct 2011 13:28:09 -0400
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)/*