Mercurial > hg > truffle
comparison make/Makefile @ 4865:481a9443f721
7123386: RFE: Preserve universal builds of HotSpot on Mac OS X
Summary: Add support for packaging HotSpot JVM builds in universal binaries
Reviewed-by: dholmes, kamg, dcubed, phh
Contributed-by: james.melvin@oracle.com
author | phh |
---|---|
date | Wed, 01 Feb 2012 15:01:08 -0500 |
parents | 94ec88ca68e2 |
children | f09ae3853e3b |
comparison
equal
deleted
inserted
replaced
4864:b2cd0ee8f778 | 4865:481a9443f721 |
---|---|
1 # | 1 # |
2 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. | 2 # Copyright (c) 2005, 2012, 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. |
87 C2_VM_TARGETS=product fastdebug optimized jvmg | 87 C2_VM_TARGETS=product fastdebug optimized jvmg |
88 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel | 88 KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel |
89 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero | 89 ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero |
90 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark | 90 SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark |
91 | 91 |
92 COMMON_VM_PRODUCT_TARGETS=product product1 productkernel docs export_product | |
93 COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 fastdebugkernel docs export_fastdebug | |
94 COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 jvmgkernel docs export_debug | |
95 | |
92 # JDK directory list | 96 # JDK directory list |
93 JDK_DIRS=bin include jre lib demo | 97 JDK_DIRS=bin include jre lib demo |
94 | 98 |
95 all: all_product all_fastdebug | 99 all: all_product all_fastdebug |
96 ifndef BUILD_CLIENT_ONLY | 100 |
97 all_product: product product1 productkernel docs export_product | 101 ifdef BUILD_CLIENT_ONLY |
98 all_fastdebug: fastdebug fastdebug1 fastdebugkernel docs export_fastdebug | |
99 all_debug: jvmg jvmg1 jvmgkernel docs export_debug | |
100 else | |
101 all_product: product1 docs export_product | 102 all_product: product1 docs export_product |
102 all_fastdebug: fastdebug1 docs export_fastdebug | 103 all_fastdebug: fastdebug1 docs export_fastdebug |
103 all_debug: jvmg1 docs export_debug | 104 all_debug: jvmg1 docs export_debug |
104 endif | 105 else |
106 ifeq ($(MACOSX_UNIVERSAL),true) | |
107 all_product: universal_product | |
108 all_fastdebug: universal_fastdebug | |
109 all_debug: universal_debug | |
110 else | |
111 all_product: $(COMMON_VM_PRODUCT_TARGETS) | |
112 all_fastdebug: $(COMMON_VM_FASTDEBUG_TARGETS) | |
113 all_debug: $(COMMON_VM_DEBUG_TARGETS) | |
114 endif | |
115 endif | |
116 | |
105 all_optimized: optimized optimized1 optimizedkernel docs export_optimized | 117 all_optimized: optimized optimized1 optimizedkernel docs export_optimized |
106 | 118 |
107 allzero: all_productzero all_fastdebugzero | 119 allzero: all_productzero all_fastdebugzero |
108 all_productzero: productzero docs export_product | 120 all_productzero: productzero docs export_product |
109 all_fastdebugzero: fastdebugzero docs export_fastdebug | 121 all_fastdebugzero: fastdebugzero docs export_fastdebug |
230 $(MAKE) VM_SUBDIR=fastdebug EXPORT_SUBDIR=/fastdebug generic_export | 242 $(MAKE) VM_SUBDIR=fastdebug EXPORT_SUBDIR=/fastdebug generic_export |
231 export_debug: | 243 export_debug: |
232 $(MAKE) VM_SUBDIR=${VM_DEBUG} EXPORT_SUBDIR=/debug generic_export | 244 $(MAKE) VM_SUBDIR=${VM_DEBUG} EXPORT_SUBDIR=/debug generic_export |
233 export_optimized: | 245 export_optimized: |
234 $(MAKE) VM_SUBDIR=optimized EXPORT_SUBDIR=/optimized generic_export | 246 $(MAKE) VM_SUBDIR=optimized EXPORT_SUBDIR=/optimized generic_export |
235 export_product_jdk: | 247 export_product_jdk:: |
236 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \ | 248 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \ |
237 VM_SUBDIR=product generic_export | 249 VM_SUBDIR=product generic_export |
238 export_optimized_jdk: | 250 export_optimized_jdk:: |
239 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \ | 251 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \ |
240 VM_SUBDIR=optimized generic_export | 252 VM_SUBDIR=optimized generic_export |
241 export_fastdebug_jdk: | 253 export_fastdebug_jdk:: |
242 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/fastdebug \ | 254 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/fastdebug \ |
243 VM_SUBDIR=fastdebug generic_export | 255 VM_SUBDIR=fastdebug generic_export |
244 export_debug_jdk: | 256 export_debug_jdk:: |
245 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/debug \ | 257 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/debug \ |
246 VM_SUBDIR=${VM_DEBUG} generic_export | 258 VM_SUBDIR=${VM_DEBUG} generic_export |
247 | |
248 | 259 |
249 # Export file copy rules | 260 # Export file copy rules |
250 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt | 261 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt |
251 DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs | 262 DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs |
252 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 | 263 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 |
442 $(JDK_IMAGE_DIR)/bin/java -client -version | 453 $(JDK_IMAGE_DIR)/bin/java -client -version |
443 endif | 454 endif |
444 endif | 455 endif |
445 $(JDK_IMAGE_DIR)/bin/java -server -version | 456 $(JDK_IMAGE_DIR)/bin/java -server -version |
446 | 457 |
447 copy_product_jdk: | 458 copy_product_jdk:: |
448 $(RM) -r $(JDK_IMAGE_DIR) | 459 $(RM) -r $(JDK_IMAGE_DIR) |
449 $(MKDIR) -p $(JDK_IMAGE_DIR) | 460 $(MKDIR) -p $(JDK_IMAGE_DIR) |
450 ($(CD) $(JDK_IMPORT_PATH) && \ | 461 ($(CD) $(JDK_IMPORT_PATH) && \ |
451 $(TAR) -cf - $(JDK_DIRS)) | \ | 462 $(TAR) -cf - $(JDK_DIRS)) | \ |
452 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -) | 463 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -) |
453 | 464 |
454 copy_fastdebug_jdk: | 465 copy_fastdebug_jdk:: |
455 $(RM) -r $(JDK_IMAGE_DIR)/fastdebug | 466 $(RM) -r $(JDK_IMAGE_DIR)/fastdebug |
456 $(MKDIR) -p $(JDK_IMAGE_DIR)/fastdebug | 467 $(MKDIR) -p $(JDK_IMAGE_DIR)/fastdebug |
457 if [ -d $(JDK_IMPORT_PATH)/fastdebug ] ; then \ | 468 if [ -d $(JDK_IMPORT_PATH)/fastdebug ] ; then \ |
458 ($(CD) $(JDK_IMPORT_PATH)/fastdebug && \ | 469 ($(CD) $(JDK_IMPORT_PATH)/fastdebug && \ |
459 $(TAR) -cf - $(JDK_DIRS)) | \ | 470 $(TAR) -cf - $(JDK_DIRS)) | \ |
462 ($(CD) $(JDK_IMPORT_PATH) && \ | 473 ($(CD) $(JDK_IMPORT_PATH) && \ |
463 $(TAR) -cf - $(JDK_DIRS)) | \ | 474 $(TAR) -cf - $(JDK_DIRS)) | \ |
464 ($(CD) $(JDK_IMAGE_DIR)/fastdebug && $(TAR) -xf -) ; \ | 475 ($(CD) $(JDK_IMAGE_DIR)/fastdebug && $(TAR) -xf -) ; \ |
465 fi | 476 fi |
466 | 477 |
467 copy_debug_jdk: | 478 copy_debug_jdk:: |
468 $(RM) -r $(JDK_IMAGE_DIR)/debug | 479 $(RM) -r $(JDK_IMAGE_DIR)/debug |
469 $(MKDIR) -p $(JDK_IMAGE_DIR)/debug | 480 $(MKDIR) -p $(JDK_IMAGE_DIR)/debug |
470 if [ -d $(JDK_IMPORT_PATH)/debug ] ; then \ | 481 if [ -d $(JDK_IMPORT_PATH)/debug ] ; then \ |
471 ($(CD) $(JDK_IMPORT_PATH)/debug && \ | 482 ($(CD) $(JDK_IMPORT_PATH)/debug && \ |
472 $(TAR) -cf - $(JDK_DIRS)) | \ | 483 $(TAR) -cf - $(JDK_DIRS)) | \ |
478 else \ | 489 else \ |
479 ($(CD) $(JDK_IMPORT_PATH) && \ | 490 ($(CD) $(JDK_IMPORT_PATH) && \ |
480 $(TAR) -cf - $(JDK_DIRS)) | \ | 491 $(TAR) -cf - $(JDK_DIRS)) | \ |
481 ($(CD) $(JDK_IMAGE_DIR)/debug && $(TAR) -xf -) ; \ | 492 ($(CD) $(JDK_IMAGE_DIR)/debug && $(TAR) -xf -) ; \ |
482 fi | 493 fi |
483 | |
484 # macosx universal builds | |
485 | |
486 ifeq ($(MACOSX_UNIVERSAL), true) | |
487 $(UNIVERSAL_LIPO_LIST): | |
488 lipo -create -output $@ $(EXPORT_JRE_LIB_DIR)/{i386,amd64}/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@) | |
489 | |
490 $(UNIVERSAL_COPY_LIST): | |
491 $(CP) $(EXPORT_JRE_LIB_DIR)/i386/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@) $@ | |
492 | |
493 universalize: $(UNIVERSAL_LIPO_LIST) $(UNIVERSAL_COPY_LIST) | |
494 endif | |
495 | |
496 universal_product: | |
497 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 MACOSX_UNIVERSAL=true all_product | |
498 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 MACOSX_UNIVERSAL=true all_product | |
499 $(MKDIR) -p $(EXPORT_JRE_LIB_DIR)/{client,server} | |
500 $(QUIETLY) $(MAKE) MACOSX_UNIVERSAL=true universalize | |
501 | |
502 universal_fastdebug: | |
503 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 MACOSX_UNIVERSAL=true all_fastdebug | |
504 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 MACOSX_UNIVERSAL=true all_fastdebug | |
505 $(MKDIR) -p $(EXPORT_JRE_LIB_DIR)/{client,server} | |
506 $(QUIETLY) $(MAKE) MACOSX_UNIVERSAL=true universalize | |
507 | |
508 universal_debug: | |
509 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 MACOSX_UNIVERSAL=true all_debug | |
510 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 MACOSX_UNIVERSAL=true all_debug | |
511 $(MKDIR) -p $(EXPORT_JRE_LIB_DIR)/{client,server} | |
512 $(QUIETLY) $(MAKE) MACOSX_UNIVERSAL=true universalize | |
513 | 494 |
514 # | 495 # |
515 # Check target | 496 # Check target |
516 # | 497 # |
517 check: variable_check | 498 check: variable_check |
628 @$(ECHO) \ | 609 @$(ECHO) \ |
629 " $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(PREVIOUS_JDK_VERSION)" | 610 " $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(PREVIOUS_JDK_VERSION)" |
630 @$(ECHO) \ | 611 @$(ECHO) \ |
631 " $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)" | 612 " $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)" |
632 | 613 |
614 # Universal build support | |
615 ifeq ($(OS_VENDOR), Darwin) | |
616 ifeq ($(MACOSX_UNIVERSAL),true) | |
617 include $(GAMMADIR)/make/$(OSNAME)/makefiles/universal.gmk | |
618 endif | |
619 endif | |
620 | |
633 # JPRT rule to build this workspace | 621 # JPRT rule to build this workspace |
634 include $(GAMMADIR)/make/jprt.gmk | 622 include $(GAMMADIR)/make/jprt.gmk |
635 | 623 |
636 .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \ | 624 .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \ |
637 $(KERNEL_VM_TARGETS) \ | 625 $(KERNEL_VM_TARGETS) \ |
638 generic_build1 generic_build2 generic_buildkernel generic_export \ | 626 generic_build1 generic_build2 generic_buildkernel generic_export \ |
639 export_product export_fastdebug export_debug export_optimized \ | 627 export_product export_fastdebug export_debug export_optimized \ |
640 export_jdk_product export_jdk_fastdebug export_jdk_debug \ | 628 export_jdk_product export_jdk_fastdebug export_jdk_debug \ |
641 create_jdk copy_jdk update_jdk test_jdk \ | 629 create_jdk copy_jdk update_jdk test_jdk \ |
642 copy_product_jdk copy_fastdebug_jdk copy_debug_jdk universalize \ | 630 copy_product_jdk copy_fastdebug_jdk copy_debug_jdk |
643 universal_product | |
644 |