|
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)/* |