Makefile revision 180:412712f77af6
13070Spst# 23070Spst# Copyright (c) 1995, 2009, Oracle and/or its affiliates. All rights reserved. 33070Spst# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 43070Spst# 53070Spst# This code is free software; you can redistribute it and/or modify it 63070Spst# under the terms of the GNU General Public License version 2 only, as 73070Spst# published by the Free Software Foundation. Oracle designates this 83070Spst# particular file as subject to the "Classpath" exception as provided 93070Spst# by Oracle in the LICENSE file that accompanied this code. 103070Spst# 113070Spst# This code is distributed in the hope that it will be useful, but WITHOUT 123070Spst# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 133070Spst# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 143070Spst# version 2 for more details (a copy is included in the LICENSE file that 153070Spst# accompanied this code). 163070Spst# 173070Spst# You should have received a copy of the GNU General Public License version 183070Spst# 2 along with this work; if not, write to the Free Software Foundation, 193070Spst# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 203070Spst# 213070Spst# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 223070Spst# or visit www.oracle.com if you need additional information or have any 233070Spst# questions. 243070Spst# 253070Spst 263070SpstBUILD_PARENT_DIRECTORY=. 273070Spst 283070Spstifndef TOPDIR 293070Spst TOPDIR:=. 303070Spstendif 313070Spst 323070Spstifndef CONTROL_TOPDIR 333070Spst CONTROL_TOPDIR=$(TOPDIR) 348870Srgrimesendif 353070Spst 363070Spst# Openjdk sources (only used if SKIP_OPENJDK_BUILD!=true) 373070SpstOPENJDK_SOURCETREE=$(TOPDIR)/openjdk 383070SpstOPENJDK_BUILDDIR:=$(shell \ 393070Spst if [ -r $(OPENJDK_SOURCETREE)/Makefile ]; then \ 403070Spst echo "$(OPENJDK_SOURCETREE)"; \ 418870Srgrimes else \ 423070Spst echo "."; \ 433070Spst fi) 443070Spst 453070Spstifndef JDK_TOPDIR 463070Spst JDK_TOPDIR=$(TOPDIR)/jdk 473070Spstendif 483070Spstifndef JDK_MAKE_SHARED_DIR 493070Spst JDK_MAKE_SHARED_DIR=$(JDK_TOPDIR)/make/common/shared 503070Spstendif 513070Spst 523070Spst# For start and finish echo lines 5313408SpeterTITLE_TEXT = Control $(PLATFORM) $(ARCH) $(RELEASE) 5413408SpeterDATE_STAMP = `$(DATE) '+%y-%m-%d %H:%M'` 5513408SpeterSTART_ECHO = echo "$(TITLE_TEXT) $@ build started: $(DATE_STAMP)" 5613408SpeterFINISH_ECHO = echo "$(TITLE_TEXT) $@ build finished: $(DATE_STAMP)" 5713408Speter 5813408Speterdefault: all 5913408Speter 603070Spstinclude $(JDK_MAKE_SHARED_DIR)/Defs-control.gmk 613070Spstinclude ./make/Defs-internal.gmk 623070Spstinclude ./make/sanity-rules.gmk 6350476Speterinclude ./make/hotspot-rules.gmk 643070Spstinclude ./make/langtools-rules.gmk 653070Spstinclude ./make/corba-rules.gmk 663070Spstinclude ./make/jaxp-rules.gmk 673070Spstinclude ./make/jaxws-rules.gmk 683070Spstinclude ./make/jdk-rules.gmk 693070Spstinclude ./make/install-rules.gmk 703070Spstinclude ./make/sponsors-rules.gmk 7113408Speterinclude ./make/deploy-rules.gmk 7213408Speter 733070Spst# What "all" means 743070Spstall:: 753070Spst @$(START_ECHO) 763070Spst 7713408Speterall:: openjdk_check sanity 783070Spst 7965532Snectarifeq ($(SKIP_FASTDEBUG_BUILD), false) 8065532Snectar all:: fastdebug_build 813070Spstendif 8213408Speter 833070Spstifeq ($(SKIP_DEBUG_BUILD), false) 8413408Speter all:: debug_build 8513408Speterendif 8613408Speter 8713408Speterifneq ($(SKIP_OPENJDK_BUILD), true) 883070Spst all:: openjdk_build 893070Spstendif 903070Spst 913070Spstall:: all_product_build 923070Spst 933070Spstall:: 943070Spst @$(FINISH_ECHO) 953070Spst 963070Spst# Everything for a full product build 9713408Speterall_product_build:: 9813408Speter @$(START_ECHO) 993070Spst 1003070Spstifeq ($(SKIP_PRODUCT_BUILD), false) 1013070Spst 10213408Speter all_product_build:: product_build 10313408Speter 1043070Spst ifeq ($(BUILD_INSTALL), true) 1053070Spst all_product_build:: $(INSTALL) 1063070Spst clobber:: install-clobber 1073070Spst endif 1083070Spst 1093070Spst ifeq ($(BUILD_SPONSORS), true) 1103070Spst all_product_build:: $(SPONSORS) 1113070Spst clobber:: sponsors-clobber 1123070Spst endif 11392889Sobrien 11492889Sobrien ifneq ($(SKIP_COMPARE_IMAGES), true) 11592889Sobrien all_product_build:: compare-image 11613408Speter endif 11713408Speter 11832299Simpendif 11932299Simp 12032299Simpall_product_build:: 12113408Speter @$(FINISH_ECHO) 12226974Speter 1233070Spst# Generis build of basic repo series 1243070Spstgeneric_build_repo_series:: 1253070Spst $(MKDIR) -p $(OUTPUTDIR) 1263070Spst $(MKDIR) -p $(OUTPUTDIR)/j2sdk-image 1273070Spst 1283070Spstifeq ($(BUILD_LANGTOOLS), true) 1293070Spst generic_build_repo_series:: langtools 1303070Spst clobber:: langtools-clobber 1313070Spstendif 1323070Spst 1333070Spstifeq ($(BUILD_CORBA), true) 1343070Spst generic_build_repo_series:: corba 1353070Spst clobber:: corba-clobber 1363070Spstendif 1373070Spst 1383070Spstifeq ($(BUILD_JAXP), true) 1393070Spst generic_build_repo_series:: jaxp 1403070Spst clobber:: jaxp-clobber 1413070Spstendif 1423070Spst 1433070Spstifeq ($(BUILD_JAXWS), true) 1443070Spst generic_build_repo_series:: jaxws 1453070Spst clobber:: jaxws-clobber 1463070Spstendif 1473070Spst 1483070Spstifeq ($(BUILD_HOTSPOT), true) 1493070Spst generic_build_repo_series:: $(HOTSPOT) 15013408Speter clobber:: hotspot-clobber 1513070Spstendif 15213408Speter 1533070Spstifeq ($(BUILD_JDK), true) 1543070Spst generic_build_repo_series:: $(JDK_JAVA_EXE) 1553070Spst clobber:: jdk-clobber 1563070Spstendif 1573070Spst 1583070Spstifeq ($(BUILD_DEPLOY), true) 1593070Spst generic_build_repo_series:: $(DEPLOY) 16017903Speter clobber:: deploy-clobber 1613070Spstendif 1623070Spst 1633070Spstifeq ($(BUILD_JDK), true) 16432299Simp ifeq ($(BUNDLE_RULES_AVAILABLE), true) 16532299Simp generic_build_repo_series:: openjdk-binary-plugs-bundles 1663070Spst endif 1673070Spstendif 1683070Spst 1693070Spst# The debug build, fastdebug or debug. Needs special handling. 1703070Spst# Note that debug builds do NOT do INSTALL steps, but must be done 1713070Spst# after the product build and before the INSTALL step of the product build. 17217903Speter# 1733070Spst# DEBUG_NAME is fastdebug or debug 1743070Spst# ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix 1753070Spst# The resulting j2sdk-image is used by the install makefiles to create a 17613408Speter# debug install bundle jdk-*-debug-** bundle (tar or zip) 1773070Spst# which will install in the debug or fastdebug subdirectory of the 17813408Speter# normal product install area. 17913408Speter# The install process needs to know what the DEBUG_NAME is, so 18013408Speter# look for INSTALL_DEBUG_NAME in the install rules. 1813070Spst# 1823070Spst 1833070Spst# Location of fresh bootdir output 1843070SpstABS_BOOTDIR_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk 1853070SpstFRESH_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/j2sdk-image 1863070SpstFRESH_DEBUG_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)-$(DEBUG_NAME)/j2sdk-image 18713408Speter 1883070Spstcreate_fresh_product_bootdir: FRC 1893070Spst @$(START_ECHO) 1903070Spst $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \ 19113408Speter GENERATE_DOCS=false \ 1923070Spst BOOT_CYCLE_SETTINGS= \ 1933070Spst build_product_image 1943070Spst @$(FINISH_ECHO) 19513408Speter 1963070Spstcreate_fresh_debug_bootdir: FRC 1973070Spst @$(START_ECHO) 1983070Spst $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \ 1993070Spst GENERATE_DOCS=false \ 2003070Spst BOOT_CYCLE_DEBUG_SETTINGS= \ 2013070Spst build_debug_image 2023070Spst @$(FINISH_ECHO) 20313408Speter 20413408Spetercreate_fresh_fastdebug_bootdir: FRC 20513408Speter @$(START_ECHO) 2063070Spst $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \ 2073070Spst GENERATE_DOCS=false \ 2083070Spst BOOT_CYCLE_DEBUG_SETTINGS= \ 2093070Spst build_fastdebug_image 2103070Spst @$(FINISH_ECHO) 21113408Speter 2123070Spst# Create boot image? 21313408Speterifeq ($(SKIP_BOOT_CYCLE),false) 2143070Spst ifneq ($(PLATFORM)$(ARCH_DATA_MODEL),solaris64) 2153070Spst DO_BOOT_CYCLE=true 2163070Spst endif 2173070Spstendif 21813408Speter 21913408Speterifeq ($(DO_BOOT_CYCLE),true) 2203070Spst 2213070Spst # Create the bootdir to use in the build 22265532Snectar product_build:: create_fresh_product_bootdir 22365532Snectar debug_build:: create_fresh_debug_bootdir 2243070Spst fastdebug_build:: create_fresh_fastdebug_bootdir 22565532Snectar 22665532Snectar # Define variables to be used now for the boot jdk 22713408Speter BOOT_CYCLE_SETTINGS= \ 22813408Speter ALT_BOOTDIR=$(FRESH_BOOTDIR) \ 22913408Speter ALT_JDK_IMPORT_PATH=$(FRESH_BOOTDIR) 23013408Speter BOOT_CYCLE_DEBUG_SETTINGS= \ 23113408Speter ALT_BOOTDIR=$(FRESH_DEBUG_BOOTDIR) \ 23213408Speter ALT_JDK_IMPORT_PATH=$(FRESH_DEBUG_BOOTDIR) 2333070Spst 23465532Snectarelse 23565532Snectar 23665532Snectar # Use the supplied ALT_BOOTDIR as the boot 23765532Snectar BOOT_CYCLE_SETTINGS= 23865532Snectar BOOT_CYCLE_DEBUG_SETTINGS= 2393070Spst 24065532Snectarendif 2413070Spst 24213408Speterbuild_product_image: 2433070Spst @$(START_ECHO) 2443070Spst $(MAKE) \ 24513408Speter SKIP_FASTDEBUG_BUILD=true \ 24613408Speter SKIP_DEBUG_BUILD=true \ 24713408Speter $(BOOT_CYCLE_SETTINGS) \ 24813408Speter generic_build_repo_series 24913408Speter @$(FINISH_ECHO) 25013408Speter 25113408Spetergeneric_debug_build: 25213408Speter @$(START_ECHO) 25313408Speter $(MAKE) \ 25413408Speter ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)-$(DEBUG_NAME) \ 25513408Speter DEBUG_NAME=$(DEBUG_NAME) \ 25613408Speter GENERATE_DOCS=false \ 25713408Speter $(BOOT_CYCLE_DEBUG_SETTINGS) \ 25813408Speter generic_build_repo_series 2593070Spst @$(FINISH_ECHO) 26013408Speter 2613070Spstbuild_debug_image: 26213408Speter $(MAKE) DEBUG_NAME=debug generic_debug_build 2633070Spst 2643070Spstbuild_fastdebug_image: 26513408Speter $(MAKE) DEBUG_NAME=fastdebug generic_debug_build 26665532Snectar 2673070Spst# Build final image 2683070Spstproduct_build:: build_product_image 2693070Spstdebug_build:: build_debug_image 2703070Spstfastdebug_build:: build_fastdebug_image 2713070Spst 2723070Spst# Check on whether we really can build the openjdk, need source etc. 27313408Speteropenjdk_check: FRC 2743070Spstifneq ($(SKIP_OPENJDK_BUILD), true) 2753070Spst @$(ECHO) " " 27665532Snectar @$(ECHO) "=================================================" 27765532Snectar @if [ ! -r $(OPENJDK_BUILDDIR)/Makefile ] ; then \ 2783070Spst $(ECHO) "ERROR: No openjdk source tree available at: $(OPENJDK_BUILDDIR)"; \ 27965532Snectar exit 1; \ 2803070Spst else \ 2813070Spst $(ECHO) "OpenJDK will be built after JDK is built"; \ 28265532Snectar $(ECHO) " OPENJDK_BUILDDIR=$(OPENJDK_BUILDDIR)"; \ 28365532Snectar fi 2843070Spst @$(ECHO) "=================================================" 28565532Snectar @$(ECHO) " " 28613408Speterendif 28713408Speter 28813408Speter# If we have bundle rules, we have a chance here to do a complete cycle 2898870Srgrimes# build, of production and open build. 29065532Snectar# FIXUP: We should create the openjdk source bundle and build that? 29165532Snectar# But how do we reliable create or get at a formal openjdk source tree? 29265532Snectar# The one we have needs to be trimmed of built bits and closed dirs. 29365532Snectar# The repositories might not be available. 29413408Speter# The openjdk source bundle is probably not available. 29513408Speter 29665532Snectarifneq ($(SKIP_OPENJDK_BUILD), true) 29713408Speter ifeq ($(BUILD_JDK), true) 29832299Simp ifeq ($(BUNDLE_RULES_AVAILABLE), true) 29932299Simp 30013408SpeterOPENJDK_PLUGS=$(ABS_OUTPUTDIR)/$(OPENJDK_BINARY_PLUGS_INAME) 3013070SpstOPENJDK_OUTPUTDIR=$(ABS_OUTPUTDIR)/open-output 30213408SpeterOPENJDK_BUILD_NAME \ 3033070Spst = openjdk-$(JDK_MINOR_VERSION)-$(BUILD_NUMBER)-$(PLATFORM)-$(ARCH)-$(BUNDLE_DATE) 3043070SpstOPENJDK_BUILD_BINARY_ZIP=$(ABS_BIN_BUNDLEDIR)/$(OPENJDK_BUILD_NAME).zip 30513408SpeterBUILT_IMAGE=$(ABS_OUTPUTDIR)/j2sdk-image 30665532Snectarifeq ($(PLATFORM)$(ARCH_DATA_MODEL),solaris64) 3073070Spst OPENJDK_BOOTDIR=$(BOOTDIR) 30865532Snectar OPENJDK_IMPORTJDK=$(JDK_IMPORT_PATH) 30965532Snectarelse 3103070Spst OPENJDK_BOOTDIR=$(BUILT_IMAGE) 3113070Spst OPENJDK_IMPORTJDK=$(BUILT_IMAGE) 3123070Spstendif 3133070Spst 3143070Spstopenjdk_build: 3153070Spst @$(START_ECHO) 3163070Spst @$(ECHO) " " 3173070Spst @$(ECHO) "=================================================" 3183070Spst @$(ECHO) "Starting openjdk build" 3193070Spst @$(ECHO) " Using: ALT_JDK_DEVTOOLS_DIR=$(JDK_DEVTOOLS_DIR)" 3203070Spst @$(ECHO) "=================================================" 3213070Spst @$(ECHO) " " 3223070Spst $(RM) -r $(OPENJDK_OUTPUTDIR) 3233070Spst $(MKDIR) -p $(OPENJDK_OUTPUTDIR) 32421057Speter ($(CD) $(OPENJDK_BUILDDIR) && $(MAKE) \ 3253070Spst OPENJDK=true \ 326 GENERATE_DOCS=false \ 327 ALT_JDK_DEVTOOLS_DIR=$(JDK_DEVTOOLS_DIR) \ 328 ALT_OUTPUTDIR=$(OPENJDK_OUTPUTDIR) \ 329 ALT_BINARY_PLUGS_PATH=$(OPENJDK_PLUGS) \ 330 ALT_BOOTDIR=$(OPENJDK_BOOTDIR) \ 331 ALT_JDK_IMPORT_PATH=$(OPENJDK_IMPORTJDK) \ 332 product_build ) 333 $(RM) $(OPENJDK_BUILD_BINARY_ZIP) 334 ( $(CD) $(OPENJDK_OUTPUTDIR)/j2sdk-image && \ 335 $(ZIPEXE) -q -r $(OPENJDK_BUILD_BINARY_ZIP) .) 336 $(RM) -r $(OPENJDK_OUTPUTDIR) 337 @$(ECHO) " " 338 @$(ECHO) "=================================================" 339 @$(ECHO) "Finished openjdk build" 340 @$(ECHO) " Binary Bundle: $(OPENJDK_BUILD_BINARY_ZIP)" 341 @$(ECHO) "=================================================" 342 @$(ECHO) " " 343 @$(FINISH_ECHO) 344 345 endif 346 endif 347endif 348 349clobber:: 350 $(RM) -r $(OUTPUTDIR)/* 351 $(RM) -r $(OUTPUTDIR)-debug/* 352 $(RM) -r $(OUTPUTDIR)-fastdebug/* 353 -($(RMDIR) -p $(OUTPUTDIR) > $(DEV_NULL) 2>&1; $(TRUE)) 354 355clean: clobber 356 357# 358# Dev builds 359# 360 361dev : dev-build 362 363dev-build: 364 $(MAKE) DEV_ONLY=true all 365dev-sanity: 366 $(MAKE) DEV_ONLY=true sanity 367dev-clobber: 368 $(MAKE) DEV_ONLY=true clobber 369 370# 371# Quick jdk verification build 372# 373jdk_only: 374 $(MAKE) SKIP_FASTDEBUG_BUILD=true BUILD_HOTSPOT=false all 375 376 377# 378# Quick jdk verification fastdebug build 379# 380jdk_fastdebug_only: 381 $(MAKE) DEBUG_NAME=fastdebug BUILD_HOTSPOT=false BUILD_DEPLOY=false \ 382 BUILD_INSTALL=false BUILD_SPONSORS=false generic_debug_build 383 384# 385# Quick deploy verification fastdebug build 386# 387deploy_fastdebug_only: 388 $(MAKE) \ 389 DEBUG_NAME=fastdebug \ 390 BUILD_HOTSPOT=false \ 391 BUILD_JDK=false \ 392 BUILD_LANGTOOLS=false \ 393 BUILD_CORBA=false \ 394 BUILD_JAXP=false \ 395 BUILD_JAXWS=false \ 396 BUILD_INSTALL=false \ 397 BUILD_SPONSORS=false \ 398 generic_debug_build 399 400# 401# Product build (skip debug builds) 402# 403product_only: 404 $(MAKE) SKIP_FASTDEBUG_BUILD=true all 405 406# 407# Check target 408# 409 410check: variable_check 411 412# 413# Help target 414# 415help: intro_help target_help variable_help notes_help examples_help 416 417# Intro help message 418intro_help: 419 @$(ECHO) "\ 420Makefile for the JDK builds (all the JDK). \n\ 421" 422 423# Target help 424target_help: 425 @$(ECHO) "\ 426--- Common Targets --- \n\ 427all -- build the core JDK (default target) \n\ 428help -- Print out help information \n\ 429check -- Check make variable values for correctness \n\ 430sanity -- Perform detailed sanity checks on system and settings \n\ 431fastdebug_build -- build the core JDK in 'fastdebug' mode (-g -O) \n\ 432debug_build -- build the core JDK in 'debug' mode (-g) \n\ 433clean -- remove all built and imported files \n\ 434clobber -- same as clean \n\ 435" 436 437# Variable help (only common ones used by this Makefile) 438variable_help: variable_help_intro variable_list variable_help_end 439variable_help_intro: 440 @$(ECHO) "--- Common Variables ---" 441variable_help_end: 442 @$(ECHO) " " 443 444# One line descriptions for the variables 445OUTPUTDIR.desc = Output directory 446PARALLEL_COMPILE_JOBS.desc = Solaris/Linux parallel compile run count 447SLASH_JAVA.desc = Root of all build tools, e.g. /java or J: 448BOOTDIR.desc = JDK used to boot the build 449JDK_IMPORT_PATH.desc = JDK used to import components of the build 450COMPILER_PATH.desc = Compiler install directory 451CACERTS_FILE.desc = Location of certificates file 452DEVTOOLS_PATH.desc = Directory containing zip and gnumake 453CUPS_HEADERS_PATH.desc = Include directory location for CUPS header files 454DXSDK_PATH.desc = Root directory of DirectX SDK 455MSDEVTOOLS_PATH.desc = Root directory of VC++ tools (e.g. rc.exe) 456MSVCRT_DLL_PATH.desc = Directory containing mscvrt.dll 457 458# Make variables to print out (description and value) 459VARIABLE_PRINTVAL_LIST += \ 460 OUTPUTDIR \ 461 PARALLEL_COMPILE_JOBS \ 462 SLASH_JAVA \ 463 BOOTDIR \ 464 JDK_IMPORT_PATH \ 465 COMPILER_PATH \ 466 CACERTS_FILE \ 467 DEVTOOLS_PATH 468 469# Make variables that should refer to directories that exist 470VARIABLE_CHECKDIR_LIST += \ 471 SLASH_JAVA \ 472 BOOTDIR \ 473 JDK_IMPORT_PATH \ 474 COMPILER_PATH \ 475 DEVTOOLS_PATH 476 477# Make variables that should refer to files that exist 478VARIABLE_CHECKFIL_LIST += \ 479 CACERTS_FILE 480 481# Some are windows specific 482ifeq ($(PLATFORM), windows) 483 484VARIABLE_PRINTVAL_LIST += \ 485 DXSDK_PATH \ 486 MSDEVTOOLS_PATH \ 487 MSVCRT_DLL_PATH 488 489VARIABLE_CHECKDIR_LIST += \ 490 DXSDK_PATH \ 491 MSDEVTOOLS_PATH \ 492 MSVCRT_DLL_PATH 493 494endif 495 496# For pattern rules below, so all are treated the same 497DO_PRINTVAL_LIST=$(VARIABLE_PRINTVAL_LIST:%=%.printval) 498DO_CHECKDIR_LIST=$(VARIABLE_CHECKDIR_LIST:%=%.checkdir) 499DO_CHECKFIL_LIST=$(VARIABLE_CHECKFIL_LIST:%=%.checkfil) 500 501# Complete variable check 502variable_check: $(DO_CHECKDIR_LIST) $(DO_CHECKFIL_LIST) 503variable_list: $(DO_PRINTVAL_LIST) variable_check 504 505# Pattern rule for printing out a variable 506%.printval: 507 @$(ECHO) " ALT_$* - $($*.desc)" 508 @$(ECHO) " \t $*=$($*)" 509 510# Pattern rule for checking to see if a variable with a directory exists 511%.checkdir: 512 @if [ ! -d $($*) ] ; then \ 513 $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \ 514 fi 515 516# Pattern rule for checking to see if a variable with a file exists 517%.checkfil: 518 @if [ ! -f $($*) ] ; then \ 519 $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \ 520 fi 521 522# Misc notes on help 523notes_help: 524 @$(ECHO) "\ 525--- Notes --- \n\ 526- All builds use same output directory unless overridden with \n\ 527 \t ALT_OUTPUTDIR=<dir>, changing from product to fastdebug you may want \n\ 528 \t to use the clean target first. \n\ 529- JDK_IMPORT_PATH must refer to a compatible build, not all past promoted \n\ 530 \t builds or previous release JDK builds will work. \n\ 531- The fastest builds have been when the sources and the BOOTDIR are on \n\ 532 \t local disk. \n\ 533" 534 535examples_help: 536 @$(ECHO) "\ 537--- Examples --- \n\ 538 $(MAKE) fastdebug_build \n\ 539 $(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\ 540 $(MAKE) ALT_OUTPUTDIR=/tmp/foobar fastdebug_build \n\ 541 $(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\ 542 $(MAKE) ALT_BOOTDIR=/opt/java/jdk1.5.0 \n\ 543 $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk1.6.0 \n\ 544" 545 546################################################################ 547# Source and binary plug bundling 548################################################################ 549ifeq ($(BUNDLE_RULES_AVAILABLE), true) 550 include $(BUNDLE_RULES) 551endif 552 553################################################################ 554# JPRT rule to build 555################################################################ 556 557include ./make/jprt.gmk 558 559################################################################ 560# PHONY 561################################################################ 562 563.PHONY: all \ 564 generic_build_repo_series \ 565 what clobber insane \ 566 dev dev-build dev-sanity dev-clobber \ 567 product_build \ 568 fastdebug_build \ 569 debug_build \ 570 build_product_image \ 571 build_debug_image \ 572 build_fastdebug_image \ 573 create_fresh_product_bootdir \ 574 create_fresh_debug_bootdir \ 575 create_fresh_fastdebug_bootdir \ 576 generic_debug_build 577 578# Force target 579FRC: 580 581