Mercurial > hg > truffle
comparison make/Makefile @ 1930:2d26b0046e0d
Merge.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Tue, 30 Nov 2010 14:53:30 +0100 |
parents | 6223633ce7dd d2ede61b7a12 |
children | 5d801e6b9a80 |
comparison
equal
deleted
inserted
replaced
1484:6b7001391c97 | 1930:2d26b0046e0d |
---|---|
1 # | 1 # |
2 # Copyright 2005-2010 Sun Microsystems, Inc. All Rights Reserved. | 2 # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. |
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 # | 4 # |
5 # This code is free software; you can redistribute it and/or modify it | 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 | 6 # under the terms of the GNU General Public License version 2 only, as |
7 # published by the Free Software Foundation. | 7 # published by the Free Software Foundation. |
14 # | 14 # |
15 # You should have received a copy of the GNU General Public License version | 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, | 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. | 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
18 # | 18 # |
19 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, | 19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
20 # CA 95054 USA or visit www.sun.com if you need additional information or | 20 # or visit www.oracle.com if you need additional information or have any |
21 # have any questions. | 21 # questions. |
22 # | 22 # |
23 # | 23 # |
24 | 24 |
25 # Top level gnumake file for hotspot builds | 25 # Top level gnumake file for hotspot builds |
26 # | 26 # |
83 # Typical C1/C2 targets made available with this Makefile | 83 # Typical C1/C2 targets made available with this Makefile |
84 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1 | 84 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1 |
85 C2_VM_TARGETS=product fastdebug optimized jvmg | 85 C2_VM_TARGETS=product fastdebug optimized jvmg |
86 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel | 86 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel |
87 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero | 87 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero |
88 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark | |
88 | 89 |
89 # JDK directory list | 90 # JDK directory list |
90 JDK_DIRS=bin include jre lib demo | 91 JDK_DIRS=bin include jre lib demo |
91 | 92 |
92 all: all_product all_fastdebug | 93 all: all_product all_fastdebug |
94 ifndef BUILD_CLIENT_ONLY | |
93 all_product: product product1 productkernel docs export_product | 95 all_product: product product1 productkernel docs export_product |
94 all_fastdebug: fastdebug fastdebug1 fastdebugkernel docs export_fastdebug | 96 all_fastdebug: fastdebug fastdebug1 fastdebugkernel docs export_fastdebug |
95 all_debug: jvmg jvmg1 jvmgkernel docs export_debug | 97 all_debug: jvmg jvmg1 jvmgkernel docs export_debug |
98 else | |
99 all_product: product1 docs export_product | |
100 all_fastdebug: fastdebug1 docs export_fastdebug | |
101 all_debug: jvmg1 docs export_debug | |
102 endif | |
96 all_optimized: optimized optimized1 optimizedkernel docs export_optimized | 103 all_optimized: optimized optimized1 optimizedkernel docs export_optimized |
97 | 104 |
98 allzero: all_productzero all_fastdebugzero | 105 allzero: all_productzero all_fastdebugzero |
99 all_productzero: productzero docs export_product | 106 all_productzero: productzero docs export_product |
100 all_fastdebugzero: fastdebugzero docs export_fastdebug | 107 all_fastdebugzero: fastdebugzero docs export_fastdebug |
101 all_debugzero: jvmgzero docs export_debug | 108 all_debugzero: jvmgzero docs export_debug |
102 all_optimizedzero: optimizedzero docs export_optimized | 109 all_optimizedzero: optimizedzero docs export_optimized |
103 | 110 |
111 allshark: all_productshark all_fastdebugshark | |
112 all_productshark: productshark docs export_product | |
113 all_fastdebugshark: fastdebugshark docs export_fastdebug | |
114 all_debugshark: jvmgshark docs export_debug | |
115 all_optimizedshark: optimizedshark docs export_optimized | |
116 | |
104 # Do everything | 117 # Do everything |
105 world: all create_jdk | 118 world: all create_jdk |
106 | 119 |
107 # Build or export docs | 120 # Build or export docs |
108 docs: | 121 docs: |
128 $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) | 141 $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) |
129 | 142 |
130 $(ZERO_VM_TARGETS): | 143 $(ZERO_VM_TARGETS): |
131 $(CD) $(GAMMADIR)/make; \ | 144 $(CD) $(GAMMADIR)/make; \ |
132 $(MAKE) VM_TARGET=$@ generic_buildzero $(ALT_OUT) | 145 $(MAKE) VM_TARGET=$@ generic_buildzero $(ALT_OUT) |
146 | |
147 $(SHARK_VM_TARGETS): | |
148 $(CD) $(GAMMADIR)/make; \ | |
149 $(MAKE) VM_TARGET=$@ generic_buildshark $(ALT_OUT) | |
133 | 150 |
134 # Build compiler1 (client) rule, different for platforms | 151 # Build compiler1 (client) rule, different for platforms |
135 generic_build1: | 152 generic_build1: |
136 $(MKDIR) -p $(OUTPUTDIR) | 153 $(MKDIR) -p $(OUTPUTDIR) |
137 ifeq ($(OSNAME),windows) | 154 ifeq ($(OSNAME),windows) |
194 generic_buildzero: | 211 generic_buildzero: |
195 $(MKDIR) -p $(OUTPUTDIR) | 212 $(MKDIR) -p $(OUTPUTDIR) |
196 $(CD) $(OUTPUTDIR); \ | 213 $(CD) $(OUTPUTDIR); \ |
197 $(MAKE) -f $(ABS_OS_MAKEFILE) \ | 214 $(MAKE) -f $(ABS_OS_MAKEFILE) \ |
198 $(MAKE_ARGS) $(VM_TARGET) | 215 $(MAKE_ARGS) $(VM_TARGET) |
216 | |
217 generic_buildshark: | |
218 $(MKDIR) -p $(OUTPUTDIR) | |
219 $(CD) $(OUTPUTDIR); \ | |
220 $(MAKE) -f $(ABS_OS_MAKEFILE) \ | |
221 $(MAKE_ARGS) $(VM_TARGET) | |
199 | 222 |
200 # Export file rule | 223 # Export file rule |
201 generic_export: $(EXPORT_LIST) | 224 generic_export: $(EXPORT_LIST) |
202 export_product: | 225 export_product: |
203 $(MAKE) VM_SUBDIR=product generic_export | 226 $(MAKE) VM_SUBDIR=product generic_export |
226 DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs | 249 DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs |
227 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 | 250 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 |
228 C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 | 251 C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 |
229 KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel | 252 KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel |
230 ZERO_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_zero | 253 ZERO_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_zero |
254 SHARK_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_shark | |
231 C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) | 255 C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) |
232 C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) | 256 C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) |
233 KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR) | 257 KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR) |
234 ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR) | 258 ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR) |
259 SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR) | |
235 | 260 |
236 # Misc files and generated files need to come from C1 or C2 area | 261 # Misc files and generated files need to come from C1 or C2 area |
237 ifeq ($(ZERO_BUILD), true) | 262 ifeq ($(ZERO_BUILD), true) |
263 ifeq ($(SHARK_BUILD), true) | |
264 MISC_DIR=$(SHARK_DIR) | |
265 GEN_DIR=$(SHARK_BASE_DIR)/generated | |
266 else | |
238 MISC_DIR=$(ZERO_DIR) | 267 MISC_DIR=$(ZERO_DIR) |
239 GEN_DIR=$(ZERO_BASE_DIR)/generated | 268 GEN_DIR=$(ZERO_BASE_DIR)/generated |
269 endif | |
240 else | 270 else |
241 ifeq ($(ARCH_DATA_MODEL), 32) | 271 ifeq ($(ARCH_DATA_MODEL), 32) |
242 MISC_DIR=$(C1_DIR) | 272 MISC_DIR=$(C1_DIR) |
243 GEN_DIR=$(C1_BASE_DIR)/generated | 273 GEN_DIR=$(C1_BASE_DIR)/generated |
244 else | 274 else |
288 endif | 318 endif |
289 | 319 |
290 # Shared Library | 320 # Shared Library |
291 ifneq ($(OSNAME),windows) | 321 ifneq ($(OSNAME),windows) |
292 ifeq ($(ZERO_BUILD), true) | 322 ifeq ($(ZERO_BUILD), true) |
323 ifeq ($(SHARK_BUILD), true) | |
324 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(SHARK_DIR)/%.so | |
325 $(install-file) | |
326 $(EXPORT_SERVER_DIR)/%.so: $(SHARK_DIR)/%.so | |
327 $(install-file) | |
328 else | |
293 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(ZERO_DIR)/%.so | 329 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(ZERO_DIR)/%.so |
294 $(install-file) | 330 $(install-file) |
295 $(EXPORT_SERVER_DIR)/%.so: $(ZERO_DIR)/%.so | 331 $(EXPORT_SERVER_DIR)/%.so: $(ZERO_DIR)/%.so |
296 $(install-file) | 332 $(install-file) |
333 endif | |
297 else | 334 else |
335 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C1_DIR)/%.so | |
336 $(install-file) | |
298 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C2_DIR)/%.so | 337 $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C2_DIR)/%.so |
299 $(install-file) | 338 $(install-file) |
300 $(EXPORT_CLIENT_DIR)/%.so: $(C1_DIR)/%.so | 339 $(EXPORT_CLIENT_DIR)/%.so: $(C1_DIR)/%.so |
301 $(install-file) | 340 $(install-file) |
302 $(EXPORT_CLIENT_DIR)/64/%.so: $(C1_DIR)/%.so | 341 $(EXPORT_CLIENT_DIR)/64/%.so: $(C1_DIR)/%.so |
346 clean_build: | 385 clean_build: |
347 $(RM) -r $(C1_DIR) | 386 $(RM) -r $(C1_DIR) |
348 $(RM) -r $(C2_DIR) | 387 $(RM) -r $(C2_DIR) |
349 $(RM) -r $(KERNEL_DIR) | 388 $(RM) -r $(KERNEL_DIR) |
350 $(RM) -r $(ZERO_DIR) | 389 $(RM) -r $(ZERO_DIR) |
390 $(RM) -r $(SHARK_DIR) | |
351 clean_export: | 391 clean_export: |
352 $(RM) -r $(EXPORT_PATH) | 392 $(RM) -r $(EXPORT_PATH) |
353 clean_jdk: | 393 clean_jdk: |
354 $(RM) -r $(JDK_IMAGE_DIR) | 394 $(RM) -r $(JDK_IMAGE_DIR) |
355 | 395 |