comparison make/Makefile @ 4970:33df1aeaebbf

Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Mon, 27 Feb 2012 13:10:13 +0100
parents 04b9a2566eec f09ae3853e3b
children 957c266d8bc5
comparison
equal deleted inserted replaced
4703:2cfb7fb2dce7 4970:33df1aeaebbf
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.
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 GRAAL_VM_TARGETS=productgraal fastdebuggraal optimizedgraal jvmggraal 91 GRAAL_VM_TARGETS=productgraal fastdebuggraal optimizedgraal jvmggraal
92 92
93 COMMON_VM_PRODUCT_TARGETS=product product1 productkernel docs export_product
94 COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
95 COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 jvmgkernel docs export_debug
96
93 # JDK directory list 97 # JDK directory list
94 JDK_DIRS=bin include jre lib demo 98 JDK_DIRS=bin include jre lib demo
95 99
96 all: all_product all_fastdebug 100 all: all_product all_fastdebug
97 ifndef BUILD_CLIENT_ONLY 101
98 all_product: product product1 productkernel docs export_product 102 ifdef BUILD_CLIENT_ONLY
99 all_fastdebug: fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
100 all_debug: jvmg jvmg1 jvmgkernel docs export_debug
101 else
102 all_product: product1 docs export_product 103 all_product: product1 docs export_product
103 all_fastdebug: fastdebug1 docs export_fastdebug 104 all_fastdebug: fastdebug1 docs export_fastdebug
104 all_debug: jvmg1 docs export_debug 105 all_debug: jvmg1 docs export_debug
105 endif 106 else
107 ifeq ($(MACOSX_UNIVERSAL),true)
108 all_product: universal_product
109 all_fastdebug: universal_fastdebug
110 all_debug: universal_debug
111 else
112 all_product: $(COMMON_VM_PRODUCT_TARGETS)
113 all_fastdebug: $(COMMON_VM_FASTDEBUG_TARGETS)
114 all_debug: $(COMMON_VM_DEBUG_TARGETS)
115 endif
116 endif
117
106 all_optimized: optimized optimized1 optimizedkernel docs export_optimized 118 all_optimized: optimized optimized1 optimizedkernel docs export_optimized
107 119
108 allzero: all_productzero all_fastdebugzero 120 allzero: all_productzero all_fastdebugzero
109 all_productzero: productzero docs export_product 121 all_productzero: productzero docs export_product
110 all_fastdebugzero: fastdebugzero docs export_fastdebug 122 all_fastdebugzero: fastdebugzero docs export_fastdebug
243 $(MAKE) VM_SUBDIR=fastdebug EXPORT_SUBDIR=/fastdebug generic_export 255 $(MAKE) VM_SUBDIR=fastdebug EXPORT_SUBDIR=/fastdebug generic_export
244 export_debug: 256 export_debug:
245 $(MAKE) VM_SUBDIR=${VM_DEBUG} EXPORT_SUBDIR=/debug generic_export 257 $(MAKE) VM_SUBDIR=${VM_DEBUG} EXPORT_SUBDIR=/debug generic_export
246 export_optimized: 258 export_optimized:
247 $(MAKE) VM_SUBDIR=optimized EXPORT_SUBDIR=/optimized generic_export 259 $(MAKE) VM_SUBDIR=optimized EXPORT_SUBDIR=/optimized generic_export
248 export_product_jdk: 260 export_product_jdk::
249 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \ 261 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \
250 VM_SUBDIR=product generic_export 262 VM_SUBDIR=product generic_export
251 export_optimized_jdk: 263 export_optimized_jdk::
252 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \ 264 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \
253 VM_SUBDIR=optimized generic_export 265 VM_SUBDIR=optimized generic_export
254 export_fastdebug_jdk: 266 export_fastdebug_jdk::
255 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/fastdebug \ 267 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/fastdebug \
256 VM_SUBDIR=fastdebug generic_export 268 VM_SUBDIR=fastdebug generic_export
257 export_debug_jdk: 269 export_debug_jdk::
258 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/debug \ 270 $(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/debug \
259 VM_SUBDIR=${VM_DEBUG} generic_export 271 VM_SUBDIR=${VM_DEBUG} generic_export
260
261 272
262 # Export file copy rules 273 # Export file copy rules
263 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt 274 XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt
264 DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs 275 DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs
265 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 276 C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1
380 391
381 # Jar file (sa-jdi.jar) 392 # Jar file (sa-jdi.jar)
382 $(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar 393 $(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
383 $(install-file) 394 $(install-file)
384 395
385 # Include files (jvmti.h, jvmticmlr.h, jni.h, $(JDK_INCLUDE_SUBDIR)/jni_md.h, jmm.h) 396 # Include files (jvmti.h, jvmticmlr.h, jni.h, $(JDK_INCLUDE_SUBDIR)/jni_md.h, jmm.h, jfr.h)
386 $(EXPORT_INCLUDE_DIR)/%: $(GEN_DIR)/jvmtifiles/% 397 $(EXPORT_INCLUDE_DIR)/%: $(GEN_DIR)/jvmtifiles/%
387 $(install-file) 398 $(install-file)
388 399
389 $(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/code/% 400 $(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/code/%
390 $(install-file) 401 $(install-file)
396 $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h: $(HS_JNI_ARCH_SRC) 407 $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h: $(HS_JNI_ARCH_SRC)
397 $(install-file) 408 $(install-file)
398 409
399 $(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/services/% 410 $(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/services/%
400 $(install-file) 411 $(install-file)
412
413 JFR_EXISTS=$(shell if [ -d $(HS_ALT_SRC) ]; then echo 1; else echo 0; fi)
414 # export jfr.h
415 ifeq ($JFR_EXISTS,1)
416 $(EXPORT_INCLUDE_DIR)/%: $(HS_ALT_SRC)/share/vm/jfr/agent/%
417 $(install-file)
418 else
419 $(EXPORT_INCLUDE_DIR)/jfr.h:
420 endif
401 421
402 # Doc files (jvmti.html) 422 # Doc files (jvmti.html)
403 $(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/% 423 $(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/%
404 $(install-file) 424 $(install-file)
405 425
441 ($(CD) $(JDK_IMPORT_PATH) && \ 461 ($(CD) $(JDK_IMPORT_PATH) && \
442 $(TAR) -cf - *) | \ 462 $(TAR) -cf - *) | \
443 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -) 463 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -)
444 464
445 test_jdk: 465 test_jdk:
446 ifneq ($(ZERO_BUILD), true)
447 ifeq ($(ARCH_DATA_MODEL), 32) 466 ifeq ($(ARCH_DATA_MODEL), 32)
448 $(JDK_IMAGE_DIR)/bin/java -client -version 467 ifneq ($(ZERO_BUILD), true)
468 $(JDK_IMAGE_DIR)/bin/java -d32 -client -Xinternalversion
469 $(JDK_IMAGE_DIR)/bin/java -d32 -client -version
470 endif
471 $(JDK_IMAGE_DIR)/bin/java -d32 -server -Xinternalversion
472 $(JDK_IMAGE_DIR)/bin/java -d32 -server -version
449 endif 473 endif
450 endif 474 ifeq ($(ARCH_DATA_MODEL), 64)
451 $(JDK_IMAGE_DIR)/bin/java -server -version 475 $(JDK_IMAGE_DIR)/bin/java -d64 -server -Xinternalversion
452 476 $(JDK_IMAGE_DIR)/bin/java -d64 -server -version
453 copy_product_jdk: 477 endif
478
479 copy_product_jdk::
454 $(RM) -r $(JDK_IMAGE_DIR) 480 $(RM) -r $(JDK_IMAGE_DIR)
455 $(MKDIR) -p $(JDK_IMAGE_DIR) 481 $(MKDIR) -p $(JDK_IMAGE_DIR)
456 ($(CD) $(JDK_IMPORT_PATH) && \ 482 ($(CD) $(JDK_IMPORT_PATH) && \
457 $(TAR) -cf - $(JDK_DIRS)) | \ 483 $(TAR) -cf - $(JDK_DIRS)) | \
458 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -) 484 ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -)
459 485
460 copy_fastdebug_jdk: 486 copy_fastdebug_jdk::
461 $(RM) -r $(JDK_IMAGE_DIR)/fastdebug 487 $(RM) -r $(JDK_IMAGE_DIR)/fastdebug
462 $(MKDIR) -p $(JDK_IMAGE_DIR)/fastdebug 488 $(MKDIR) -p $(JDK_IMAGE_DIR)/fastdebug
463 if [ -d $(JDK_IMPORT_PATH)/fastdebug ] ; then \ 489 if [ -d $(JDK_IMPORT_PATH)/fastdebug ] ; then \
464 ($(CD) $(JDK_IMPORT_PATH)/fastdebug && \ 490 ($(CD) $(JDK_IMPORT_PATH)/fastdebug && \
465 $(TAR) -cf - $(JDK_DIRS)) | \ 491 $(TAR) -cf - $(JDK_DIRS)) | \
468 ($(CD) $(JDK_IMPORT_PATH) && \ 494 ($(CD) $(JDK_IMPORT_PATH) && \
469 $(TAR) -cf - $(JDK_DIRS)) | \ 495 $(TAR) -cf - $(JDK_DIRS)) | \
470 ($(CD) $(JDK_IMAGE_DIR)/fastdebug && $(TAR) -xf -) ; \ 496 ($(CD) $(JDK_IMAGE_DIR)/fastdebug && $(TAR) -xf -) ; \
471 fi 497 fi
472 498
473 copy_debug_jdk: 499 copy_debug_jdk::
474 $(RM) -r $(JDK_IMAGE_DIR)/debug 500 $(RM) -r $(JDK_IMAGE_DIR)/debug
475 $(MKDIR) -p $(JDK_IMAGE_DIR)/debug 501 $(MKDIR) -p $(JDK_IMAGE_DIR)/debug
476 if [ -d $(JDK_IMPORT_PATH)/debug ] ; then \ 502 if [ -d $(JDK_IMPORT_PATH)/debug ] ; then \
477 ($(CD) $(JDK_IMPORT_PATH)/debug && \ 503 ($(CD) $(JDK_IMPORT_PATH)/debug && \
478 $(TAR) -cf - $(JDK_DIRS)) | \ 504 $(TAR) -cf - $(JDK_DIRS)) | \
484 else \ 510 else \
485 ($(CD) $(JDK_IMPORT_PATH) && \ 511 ($(CD) $(JDK_IMPORT_PATH) && \
486 $(TAR) -cf - $(JDK_DIRS)) | \ 512 $(TAR) -cf - $(JDK_DIRS)) | \
487 ($(CD) $(JDK_IMAGE_DIR)/debug && $(TAR) -xf -) ; \ 513 ($(CD) $(JDK_IMAGE_DIR)/debug && $(TAR) -xf -) ; \
488 fi 514 fi
489
490 # macosx universal builds
491
492 ifeq ($(MACOSX_UNIVERSAL), true)
493 $(UNIVERSAL_LIPO_LIST):
494 lipo -create -output $@ $(EXPORT_JRE_LIB_DIR)/{i386,amd64}/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@)
495
496 $(UNIVERSAL_COPY_LIST):
497 $(CP) $(EXPORT_JRE_LIB_DIR)/i386/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@) $@
498
499 universalize: $(UNIVERSAL_LIPO_LIST) $(UNIVERSAL_COPY_LIST)
500 endif
501
502 universal_product:
503 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 MACOSX_UNIVERSAL=true all_product
504 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 MACOSX_UNIVERSAL=true all_product
505 $(MKDIR) -p $(EXPORT_JRE_LIB_DIR)/{client,server}
506 $(QUIETLY) $(MAKE) MACOSX_UNIVERSAL=true universalize
507
508 universal_fastdebug:
509 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 MACOSX_UNIVERSAL=true all_fastdebug
510 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 MACOSX_UNIVERSAL=true all_fastdebug
511 $(MKDIR) -p $(EXPORT_JRE_LIB_DIR)/{client,server}
512 $(QUIETLY) $(MAKE) MACOSX_UNIVERSAL=true universalize
513
514 universal_debug:
515 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 MACOSX_UNIVERSAL=true all_debug
516 $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 MACOSX_UNIVERSAL=true all_debug
517 $(MKDIR) -p $(EXPORT_JRE_LIB_DIR)/{client,server}
518 $(QUIETLY) $(MAKE) MACOSX_UNIVERSAL=true universalize
519 515
520 # 516 #
521 # Check target 517 # Check target
522 # 518 #
523 check: variable_check 519 check: variable_check
568 # One line descriptions for the variables 564 # One line descriptions for the variables
569 SLASH_JAVA.desc = Root of all build tools, e.g. /java or J: 565 SLASH_JAVA.desc = Root of all build tools, e.g. /java or J:
570 OUTPUTDIR.desc = Output directory, default is build/<osname> 566 OUTPUTDIR.desc = Output directory, default is build/<osname>
571 BOOTDIR.desc = JDK used to compile agent java source and test with 567 BOOTDIR.desc = JDK used to compile agent java source and test with
572 JDK_IMPORT_PATH.desc = Promoted JDK to copy for 'create_jdk' 568 JDK_IMPORT_PATH.desc = Promoted JDK to copy for 'create_jdk'
569 JDK_IMAGE_DIR.desc = Directory to place JDK to copy
573 EXPORT_PATH.desc = Directory to place files to export for JDK build 570 EXPORT_PATH.desc = Directory to place files to export for JDK build
574 571
575 # Make variables to print out (description and value) 572 # Make variables to print out (description and value)
576 VARIABLE_PRINTVAL_LIST += \ 573 VARIABLE_PRINTVAL_LIST += \
577 SLASH_JAVA \ 574 SLASH_JAVA \
578 OUTPUTDIR \ 575 OUTPUTDIR \
579 BOOTDIR \ 576 BOOTDIR \
580 JDK_IMPORT_PATH \ 577 JDK_IMPORT_PATH \
578 JDK_IMAGE_DIR \
581 EXPORT_PATH 579 EXPORT_PATH
582 580
583 # Make variables that should refer to directories that exist 581 # Make variables that should refer to directories that exist
584 VARIABLE_CHECKDIR_LIST += \ 582 VARIABLE_CHECKDIR_LIST += \
585 SLASH_JAVA \ 583 SLASH_JAVA \
633 " $(MAKE) world" 631 " $(MAKE) world"
634 @$(ECHO) \ 632 @$(ECHO) \
635 " $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(PREVIOUS_JDK_VERSION)" 633 " $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(PREVIOUS_JDK_VERSION)"
636 @$(ECHO) \ 634 @$(ECHO) \
637 " $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)" 635 " $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)"
636
637 # Universal build support
638 ifeq ($(OS_VENDOR), Darwin)
639 ifeq ($(MACOSX_UNIVERSAL),true)
640 include $(GAMMADIR)/make/$(OSNAME)/makefiles/universal.gmk
641 endif
642 endif
638 643
639 # JPRT rule to build this workspace 644 # JPRT rule to build this workspace
640 include $(GAMMADIR)/make/jprt.gmk 645 include $(GAMMADIR)/make/jprt.gmk
641 646
642 .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \ 647 .PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \
643 $(KERNEL_VM_TARGETS) \ 648 $(KERNEL_VM_TARGETS) \
644 generic_build1 generic_build2 generic_buildkernel generic_export \ 649 generic_build1 generic_build2 generic_buildkernel generic_export \
645 export_product export_fastdebug export_debug export_optimized \ 650 export_product export_fastdebug export_debug export_optimized \
646 export_jdk_product export_jdk_fastdebug export_jdk_debug \ 651 export_jdk_product export_jdk_fastdebug export_jdk_debug \
647 create_jdk copy_jdk update_jdk test_jdk \ 652 create_jdk copy_jdk update_jdk test_jdk \
648 copy_product_jdk copy_fastdebug_jdk copy_debug_jdk universalize \ 653 copy_product_jdk copy_fastdebug_jdk copy_debug_jdk
649 universal_product
650