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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
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 |
20 # or visit www.oracle.com if you need additional information or have any |
21 # 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 # |
27 # Default is to build the both product images and construct an export dir. |
27 # Default is to build the both product images and construct an export dir. |
83 else |
83 else |
84 ALT_OUT= |
84 ALT_OUT= |
85 endif |
85 endif |
86 |
86 |
87 # Typical C1/C2 targets made available with this Makefile |
87 # Typical C1/C2 targets made available with this Makefile |
88 C1_VM_TARGETS=product1 fastdebug1 optimized1 jvmg1 |
88 C1_VM_TARGETS=product1 fastdebug1 optimized1 debug1 |
89 C2_VM_TARGETS=product fastdebug optimized jvmg |
89 C2_VM_TARGETS=product fastdebug optimized debug |
90 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero |
90 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero debugzero |
91 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark |
91 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark debugshark |
92 MINIMAL1_VM_TARGETS=productminimal1 fastdebugminimal1 jvmgminimal1 |
92 MINIMAL1_VM_TARGETS=productminimal1 fastdebugminimal1 debugminimal1 |
93 |
93 |
94 COMMON_VM_PRODUCT_TARGETS=product product1 docs export_product |
94 COMMON_VM_PRODUCT_TARGETS=product product1 docs export_product |
95 COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 docs export_fastdebug |
95 COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 docs export_fastdebug |
96 COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 docs export_debug |
96 COMMON_VM_DEBUG_TARGETS=debug debug1 docs export_debug |
97 |
97 |
98 # JDK directory list |
98 # JDK directory list |
99 JDK_DIRS=bin include jre lib demo |
99 JDK_DIRS=bin include jre lib demo |
100 |
100 |
101 all: all_product all_fastdebug |
101 all: all_product all_fastdebug |
102 |
102 |
103 ifeq ($(JVM_VARIANT_MINIMAL1),true) |
103 ifeq ($(JVM_VARIANT_MINIMAL1),true) |
104 all_product: productminimal1 |
104 all_product: productminimal1 |
105 all_fastdebug: fastdebugminimal1 |
105 all_fastdebug: fastdebugminimal1 |
106 all_debug: jvmgminimal1 |
106 all_debug: debugminimal1 |
107 endif |
107 endif |
108 |
108 |
109 ifdef BUILD_CLIENT_ONLY |
109 ifdef BUILD_CLIENT_ONLY |
110 all_product: product1 docs export_product |
110 all_product: product1 docs export_product |
111 all_fastdebug: fastdebug1 docs export_fastdebug |
111 all_fastdebug: fastdebug1 docs export_fastdebug |
112 all_debug: jvmg1 docs export_debug |
112 all_debug: debug1 docs export_debug |
113 else |
113 else |
114 ifeq ($(MACOSX_UNIVERSAL),true) |
114 ifeq ($(MACOSX_UNIVERSAL),true) |
115 all_product: universal_product |
115 all_product: universal_product |
116 all_fastdebug: universal_fastdebug |
116 all_fastdebug: universal_fastdebug |
117 all_debug: universal_debug |
117 all_debug: universal_debug |
125 all_optimized: optimized optimized1 docs export_optimized |
125 all_optimized: optimized optimized1 docs export_optimized |
126 |
126 |
127 allzero: all_productzero all_fastdebugzero |
127 allzero: all_productzero all_fastdebugzero |
128 all_productzero: productzero docs export_product |
128 all_productzero: productzero docs export_product |
129 all_fastdebugzero: fastdebugzero docs export_fastdebug |
129 all_fastdebugzero: fastdebugzero docs export_fastdebug |
130 all_debugzero: jvmgzero docs export_debug |
130 all_debugzero: debugzero docs export_debug |
131 all_optimizedzero: optimizedzero docs export_optimized |
131 all_optimizedzero: optimizedzero docs export_optimized |
132 |
132 |
133 allshark: all_productshark all_fastdebugshark |
133 allshark: all_productshark all_fastdebugshark |
134 all_productshark: productshark docs export_product |
134 all_productshark: productshark docs export_product |
135 all_fastdebugshark: fastdebugshark docs export_fastdebug |
135 all_fastdebugshark: fastdebugshark docs export_fastdebug |
136 all_debugshark: jvmgshark docs export_debug |
136 all_debugshark: debugshark docs export_debug |
137 all_optimizedshark: optimizedshark docs export_optimized |
137 all_optimizedshark: optimizedshark docs export_optimized |
138 |
138 |
139 # Do everything |
139 # Do everything |
140 world: all create_jdk |
140 world: all create_jdk |
141 |
141 |
225 |
225 |
226 generic_buildshark: |
226 generic_buildshark: |
227 $(MKDIR) -p $(OUTPUTDIR) |
227 $(MKDIR) -p $(OUTPUTDIR) |
228 $(CD) $(OUTPUTDIR); \ |
228 $(CD) $(OUTPUTDIR); \ |
229 $(MAKE) -f $(ABS_OS_MAKEFILE) \ |
229 $(MAKE) -f $(ABS_OS_MAKEFILE) \ |
230 $(MAKE_ARGS) $(VM_TARGET) |
230 $(MAKE_ARGS) $(VM_TARGET) |
231 |
231 |
232 generic_buildminimal1: |
232 generic_buildminimal1: |
233 ifeq ($(JVM_VARIANT_MINIMAL1),true) |
233 ifeq ($(JVM_VARIANT_MINIMAL1),true) |
234 $(MKDIR) -p $(OUTPUTDIR) |
234 $(MKDIR) -p $(OUTPUTDIR) |
235 ifeq ($(ARCH_DATA_MODEL), 32) |
235 ifeq ($(ARCH_DATA_MODEL), 32) |
258 export_fastdebug: |
258 export_fastdebug: |
259 $(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \ |
259 $(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \ |
260 EXPORT_SUBDIR=/$(@:export_%=%) \ |
260 EXPORT_SUBDIR=/$(@:export_%=%) \ |
261 generic_export |
261 generic_export |
262 export_debug: |
262 export_debug: |
263 $(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=${VM_DEBUG} \ |
263 $(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \ |
264 EXPORT_SUBDIR=/$(@:export_%=%) \ |
264 EXPORT_SUBDIR=/$(@:export_%=%) \ |
265 generic_export |
265 generic_export |
266 export_optimized: |
266 export_optimized: |
267 $(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \ |
267 $(MAKE) BUILD_FLAVOR=$(@:export_%=%) VM_SUBDIR=$(@:export_%=%) \ |
268 EXPORT_SUBDIR=/$(@:export_%=%) \ |
268 EXPORT_SUBDIR=/$(@:export_%=%) \ |
279 $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) \ |
279 $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) \ |
280 VM_SUBDIR=$(@:export_%_jdk=%) \ |
280 VM_SUBDIR=$(@:export_%_jdk=%) \ |
281 ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) \ |
281 ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) \ |
282 generic_export |
282 generic_export |
283 export_debug_jdk:: |
283 export_debug_jdk:: |
284 $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) VM_SUBDIR=${VM_DEBUG} \ |
284 $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) VM_SUBDIR=$(@:export_%_jdk=%) \ |
285 ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) \ |
285 ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) \ |
286 generic_export |
286 generic_export |
287 |
287 |
288 # Export file copy rules |
288 # Export file copy rules |
289 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt |
289 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt |
321 endif |
321 endif |
322 |
322 |
323 # Bin files (windows) |
323 # Bin files (windows) |
324 ifeq ($(OSNAME),windows) |
324 ifeq ($(OSNAME),windows) |
325 |
325 |
326 # Get jvm.lib |
326 # Get jvm.lib |
327 $(EXPORT_LIB_DIR)/%.lib: $(MISC_DIR)/%.lib |
327 $(EXPORT_LIB_DIR)/%.lib: $(MISC_DIR)/%.lib |
328 $(install-file) |
328 $(install-file) |
329 |
329 |
330 # Other libraries (like SA) |
330 # Other libraries (like SA) |
331 $(EXPORT_JRE_BIN_DIR)/%.diz: $(MISC_DIR)/%.diz |
331 $(EXPORT_JRE_BIN_DIR)/%.diz: $(MISC_DIR)/%.diz |
539 @$(ECHO) "Running with: $(ALTJVM_DIR)" |
539 @$(ECHO) "Running with: $(ALTJVM_DIR)" |
540 @$(RUN_JVM) -XXaltjvm=$(ALTJVM_DIR) -Xinternalversion |
540 @$(RUN_JVM) -XXaltjvm=$(ALTJVM_DIR) -Xinternalversion |
541 @$(RUN_JVM) -XXaltjvm=$(ALTJVM_DIR) -showversion -help |
541 @$(RUN_JVM) -XXaltjvm=$(ALTJVM_DIR) -showversion -help |
542 |
542 |
543 # C2 test targets |
543 # C2 test targets |
544 test_product test_optimized test_fastdebug test_jvmg: |
544 test_product test_optimized test_fastdebug test_debug: |
545 @$(MAKE) generic_test ALTJVM_DIR="$(C2_DIR)/$(@:test_%=%)" |
545 @$(MAKE) generic_test ALTJVM_DIR="$(C2_DIR)/$(@:test_%=%)" |
546 |
546 |
547 # C1 test targets |
547 # C1 test targets |
548 test_product1 test_optimized1 test_fastdebug1 test_jvmg1: |
548 test_product1 test_optimized1 test_fastdebug1 test_debug1: |
549 ifeq ($(ARCH_DATA_MODEL), 32) |
549 ifeq ($(ARCH_DATA_MODEL), 32) |
550 @$(MAKE) generic_test ALTJVM_DIR="$(C1_DIR)/$(@:test_%1=%)" |
550 @$(MAKE) generic_test ALTJVM_DIR="$(C1_DIR)/$(@:test_%1=%)" |
551 else |
551 else |
552 @$(ECHO) "No compiler1 ($(@:test_%=%)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" |
552 @$(ECHO) "No compiler1 ($(@:test_%=%)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" |
553 endif |
553 endif |
554 |
554 |
555 # Zero test targets |
555 # Zero test targets |
556 test_productzero test_optimizedzero test_fastdebugzero test_jvmgzero: |
556 test_productzero test_optimizedzero test_fastdebugzero test_debugzero: |
557 @$(MAKE) generic_test ALTJVM_DIR="$(ZERO_DIR)/$(@:test_%zero=%)" |
557 @$(MAKE) generic_test ALTJVM_DIR="$(ZERO_DIR)/$(@:test_%zero=%)" |
558 |
558 |
559 # Shark test targets |
559 # Shark test targets |
560 test_productshark test_optimizedshark test_fastdebugshark test_jvmgshark: |
560 test_productshark test_optimizedshark test_fastdebugshark test_debugshark: |
561 @$(MAKE) generic_test ALTJVM_DIR="$(SHARK_DIR)/$(@:test_%shark=%)" |
561 @$(MAKE) generic_test ALTJVM_DIR="$(SHARK_DIR)/$(@:test_%shark=%)" |
562 |
562 |
563 # Minimal1 test targets |
563 # Minimal1 test targets |
564 test_productminimal1 test_optimizedminimal1 test_fastdebugminimal1 test_jvmgminimal1: |
564 test_productminimal1 test_optimizedminimal1 test_fastdebugminimal1 test_debugminimal1: |
565 @$(MAKE) generic_test ALTJVM_DIR="$(MINIMAL1_DIR)/$(@:test_%minimal1=%)" |
565 @$(MAKE) generic_test ALTJVM_DIR="$(MINIMAL1_DIR)/$(@:test_%minimal1=%)" |
566 |
566 |
567 |
567 |
568 test_jdk: |
568 test_jdk: |
569 ifeq ($(JVM_VARIANT_CLIENT), true) |
569 ifeq ($(JVM_VARIANT_CLIENT), true) |
624 help: intro_help target_help variable_help notes_help examples_help |
624 help: intro_help target_help variable_help notes_help examples_help |
625 |
625 |
626 # Intro help message |
626 # Intro help message |
627 intro_help: |
627 intro_help: |
628 @$(ECHO) \ |
628 @$(ECHO) \ |
629 "Makefile for the Hotspot workspace." |
629 "Makefile for the Hotspot workspace." |
630 @$(ECHO) \ |
630 @$(ECHO) \ |
631 "Default behavior is to build and create an export area for the j2se builds." |
631 "Default behavior is to build and create an export area for the j2se builds." |
632 |
632 |
633 # Target help |
633 # Target help |
634 target_help: |
634 target_help: |
635 @$(ECHO) "help: This help message" |
635 @$(ECHO) "help: This help message" |
636 @$(ECHO) "all: Same as: all_product all_fastdebug" |
636 @$(ECHO) "all: Same as: all_product all_fastdebug" |
637 @$(ECHO) "world: Same as: all create_jdk" |
637 @$(ECHO) "world: Same as: all create_jdk" |
638 @$(ECHO) "all_product: Same as: product product1 export_product" |
638 @$(ECHO) "all_product: Same as: product product1 export_product" |
639 @$(ECHO) "all_fastdebug: Same as: fastdebug fastdebug1 export_fastdebug" |
639 @$(ECHO) "all_fastdebug: Same as: fastdebug fastdebug1 export_fastdebug" |
640 @$(ECHO) "all_debug: Same as: jvmg jvmg1 export_debug" |
640 @$(ECHO) "all_debug: Same as: debug debug1 export_debug" |
641 @$(ECHO) "all_optimized: Same as: optimized optimized1 export_optimized" |
641 @$(ECHO) "all_optimized: Same as: optimized optimized1 export_optimized" |
642 @$(ECHO) "clean: Clean all areas" |
642 @$(ECHO) "clean: Clean all areas" |
643 @$(ECHO) "export_product: Export product files to EXPORT_PATH" |
643 @$(ECHO) "export_product: Export product files to EXPORT_PATH" |
644 @$(ECHO) "export_fastdebug: Export fastdebug files to EXPORT_PATH" |
644 @$(ECHO) "export_fastdebug: Export fastdebug files to EXPORT_PATH" |
645 @$(ECHO) "export_debug: Export debug files to EXPORT_PATH" |
645 @$(ECHO) "export_debug: Export debug files to EXPORT_PATH" |
728 @$(ECHO) \ |
728 @$(ECHO) \ |
729 " $(MAKE) all" |
729 " $(MAKE) all" |
730 @$(ECHO) \ |
730 @$(ECHO) \ |
731 " $(MAKE) world" |
731 " $(MAKE) world" |
732 @$(ECHO) \ |
732 @$(ECHO) \ |
733 " $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(PREVIOUS_JDK_VERSION)" |
733 " $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(PREVIOUS_JDK_VERSION)" |
734 @$(ECHO) \ |
734 @$(ECHO) \ |
735 " $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)" |
735 " $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)" |
736 |
736 |
737 # Universal build support |
737 # Universal build support |
738 ifeq ($(OS_VENDOR), Darwin) |
738 ifeq ($(OS_VENDOR), Darwin) |
739 ifeq ($(MACOSX_UNIVERSAL),true) |
739 ifeq ($(MACOSX_UNIVERSAL),true) |
740 include $(GAMMADIR)/make/$(OSNAME)/makefiles/universal.gmk |
740 include $(GAMMADIR)/make/$(OSNAME)/makefiles/universal.gmk |
741 endif |
741 endif |
742 endif |
742 endif |
|
743 |
|
744 # Compatibility for transition to new naming |
|
745 warn_jvmg_deprecated: |
|
746 echo "Warning: The jvmg target has been replaced with debug" |
|
747 echo "Warning: Please update your usage" |
|
748 |
|
749 jvmg: warn_jvmg_deprecated debug |
|
750 |
|
751 jvmg1: warn_jvmg_deprecated debug1 |
|
752 |
|
753 jvmgminimal1: warn_jvmg_deprecated debugminimal1 |
|
754 |
|
755 jvmgcore: warn_jvmg_deprecated debugcore |
|
756 |
|
757 jvmgzero: warn_jvmg_deprecated debugzero |
|
758 |
|
759 jvmgshark: warn_jvmg_deprecated debugshark |
743 |
760 |
744 # JPRT rule to build this workspace |
761 # JPRT rule to build this workspace |
745 include $(GAMMADIR)/make/jprt.gmk |
762 include $(GAMMADIR)/make/jprt.gmk |
746 |
763 |
747 .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \ |
764 .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \ |