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