Makefile revision 311
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User#
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
7a2a1b8b14fc804ac80612d7b98064095e445be5Automatic Updater# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7a42357217528037bdfedcb17eeebfe96ae4266aAutomatic Updater#
1167fc7904c5f0a472f8df207ac46dd52c7f1ec8Automatic Updater# This code is free software; you can redistribute it and/or modify it
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater# under the terms of the GNU General Public License version 2 only, as
46da3117812814a29432a8d9a9ccf8acdbfdadceAutomatic Updater# published by the Free Software Foundation. Oracle designates this
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# particular file as subject to the "Classpath" exception as provided
fe84edc17e0d582cf7b4270f8df9d4742a107b1cAutomatic Updater# by Oracle in the LICENSE file that accompanied this code.
79b273c187a4aa1016a62181983dfdd0521681aeMark Andrews#
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User# This code is distributed in the hope that it will be useful, but WITHOUT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
b253dcf9668f95e141bce9556dc88e30d3305a1dTinderbox User# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# version 2 for more details (a copy is included in the LICENSE file that
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# accompanied this code).
1ac49378a458420bc685293d12e567d7222d17b6Tinderbox User#
bbde8dc56605130058a1540609264fa109da3b63Automatic Updater# You should have received a copy of the GNU General Public License version
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# 2 along with this work; if not, write to the Free Software Foundation,
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
3cc98b8ecedcbc8465f1cf2740b966b315662430Automatic Updater#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# or visit www.oracle.com if you need additional information or have any
a01aa536188bb3535dfc1107a623e6355a8e6b7cMark Andrews# questions.
89623368b8f662d458d9964b923050f33c5f75b0Tinderbox User#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterBUILD_PARENT_DIRECTORY=.
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterifndef TOPDIR
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson TOPDIR:=.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterendif
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonifndef JDK_TOPDIR
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater JDK_TOPDIR=$(TOPDIR)/jdk
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox Userendif
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox Userifndef JDK_MAKE_SHARED_DIR
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt JDK_MAKE_SHARED_DIR=$(JDK_TOPDIR)/make/common/shared
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updaterendif
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Huntdefault: all
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterinclude $(JDK_MAKE_SHARED_DIR)/Defs-control.gmk
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterinclude ./make/Defs-internal.gmk
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Huntinclude ./make/sanity-rules.gmk
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updaterinclude ./make/hotspot-rules.gmk
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic Updaterinclude ./make/langtools-rules.gmk
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Huntinclude ./make/corba-rules.gmk
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox Userinclude ./make/jaxp-rules.gmk
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterinclude ./make/jaxws-rules.gmk
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterinclude ./make/jdk-rules.gmk
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterinclude ./make/install-rules.gmk
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updaterinclude ./make/sponsors-rules.gmk
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updaterinclude ./make/deploy-rules.gmk
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterall:: sanity
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterifeq ($(SKIP_FASTDEBUG_BUILD), false)
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews all:: fastdebug_build
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrewsendif
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox Userifeq ($(SKIP_DEBUG_BUILD), false)
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User all:: debug_build
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsendif
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater
8e9f3b69914ee02a80b87c97b1f8093edb3e9ae0Automatic Updaterall:: all_product_build
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
a80993946f29ff39df38818ee9b2e58a4e46cb7eTinderbox User# Everything for a full product build
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsifeq ($(SKIP_PRODUCT_BUILD), false)
c59750de3ea3c7d5890000fb4606e8f5835a52aaTinderbox User
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater all_product_build:: product_build
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
ec7751119a08c6a7250f3187beed69a8b836d349Tinderbox User ifeq ($(BUILD_INSTALL), true)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews all_product_build:: $(INSTALL)
114f7780384371121918624ae2c80ecfce545683Tinderbox User clobber:: install-clobber
693c4232dfdffaff672197d4b9fea944c64cf80aAutomatic Updater endif
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater ifeq ($(BUILD_SPONSORS), true)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson all_product_build:: $(SPONSORS)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater clobber:: sponsors-clobber
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater endif
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater ifneq ($(SKIP_COMPARE_IMAGES), true)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson all_product_build:: compare-image
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater endif
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonendif
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox Userdefine StartTimer
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews $(MKDIR) -p $(BUILDTIMESDIR)
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews $(RM) $(BUILDTIMESDIR)/build_time_*
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User $(call RecordStartTime,TOTAL)
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox Userendef
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontdefine StopTimer
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User $(if $(REPORT_BUILD_TIMES),$(call RecordEndTime,TOTAL) && $(call ReportBuildTimes,$1),)
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox Userendef
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Generic build of basic repo series
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox Usergeneric_build_repo_series::
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User $(MKDIR) -p $(OUTPUTDIR)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(MKDIR) -p $(OUTPUTDIR)/j2sdk-image
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews @$(call StartTimer)
24bf1e02f03577db0feb50b80238c4150c96d05dAutomatic Updater
24bf1e02f03577db0feb50b80238c4150c96d05dAutomatic Updaterifeq ($(BUILD_LANGTOOLS), true)
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews generic_build_repo_series:: langtools
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews clobber:: langtools-clobber
7500521cecdff3c00e594ec41d3a17292332ffbcTinderbox Userendif
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsifeq ($(BUILD_CORBA), true)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews generic_build_repo_series:: corba
a01aa536188bb3535dfc1107a623e6355a8e6b7cMark Andrews clobber:: corba-clobber
89623368b8f662d458d9964b923050f33c5f75b0Tinderbox Userendif
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrewsifeq ($(BUILD_JAXP), true)
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews generic_build_repo_series:: jaxp
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews clobber:: jaxp-clobber
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrewsendif
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrewsifeq ($(BUILD_JAXWS), true)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater generic_build_repo_series:: jaxws
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater clobber:: jaxws-clobber
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterendif
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterifeq ($(BUILD_HOTSPOT), true)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater generic_build_repo_series:: $(HOTSPOT)
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater clobber:: hotspot-clobber
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterendif
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonifeq ($(BUILD_JDK), true)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater generic_build_repo_series:: $(JDK_JAVA_EXE)
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews clobber:: jdk-clobber
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonendif
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updaterifeq ($(BUILD_DEPLOY), true)
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater generic_build_repo_series:: $(DEPLOY)
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater clobber:: deploy-clobber
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updaterendif
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updatergeneric_build_repo_series::
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson @$(call StopTimer,$(if $(DEBUG_NAME),$(DEBUG_NAME)_build,all_product_build))
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# The debug build, fastdebug or debug. Needs special handling.
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# Note that debug builds do NOT do INSTALL steps, but must be done
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# after the product build and before the INSTALL step of the product build.
1368e4b34cef64604c874fcc40201c78e548714cTinderbox User#
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# DEBUG_NAME is fastdebug or debug
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix
f132a836c4e386b1af045dd8fe7106ae61b90bffAutomatic Updater# The resulting j2sdk-image is used by the install makefiles to create a
8f2c45a35dd8c40bcc9caba8f7d40ce64fc27bcdAutomatic Updater# debug install bundle jdk-*-debug-** bundle (tar or zip)
c6a0f4ae1d7183a16ffb196b86b647f870694796Automatic Updater# which will install in the debug or fastdebug subdirectory of the
8f2c45a35dd8c40bcc9caba8f7d40ce64fc27bcdAutomatic Updater# normal product install area.
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# The install process needs to know what the DEBUG_NAME is, so
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# look for INSTALL_DEBUG_NAME in the install rules.
269519eeb959d905ed125f96426e01d725c3b597Tinderbox User#
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater# NOTE: On windows, do not use $(ABS_BOOTDIR_OUTPUTDIR)-$(DEBUG_NAME).
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Due to the use of short paths in $(ABS_OUTPUTDIR), this may
8f2c45a35dd8c40bcc9caba8f7d40ce64fc27bcdAutomatic Updater# not be the same location.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
8f2c45a35dd8c40bcc9caba8f7d40ce64fc27bcdAutomatic Updater
4e0e18467f8ec5a9e5d0c538ce46bf07409ecf9bTinderbox User# Location of fresh bootdir output
e85565067cf73f8cc21ee29b11761659f1d47ee9Automatic UpdaterABS_BOOTDIR_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterFRESH_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/j2sdk-image
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic UpdaterFRESH_DEBUG_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-$(DEBUG_NAME)/j2sdk-image
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updatercreate_fresh_product_bootdir: FRC
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater GENERATE_DOCS=false \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater BOOT_CYCLE_SETTINGS= \
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater build_product_image
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updatercreate_fresh_debug_bootdir: FRC
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic Updater $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
8f2c45a35dd8c40bcc9caba8f7d40ce64fc27bcdAutomatic Updater GENERATE_DOCS=false \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater BOOT_CYCLE_DEBUG_SETTINGS= \
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater build_debug_image
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updatercreate_fresh_fastdebug_bootdir: FRC
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater GENERATE_DOCS=false \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater BOOT_CYCLE_DEBUG_SETTINGS= \
5ecad47f69b3fd945472ab2900a9ff826a7ce2f6Automatic Updater build_fastdebug_image
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Create boot image?
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic Updaterifeq ($(SKIP_BOOT_CYCLE),false)
82447d835d3ff5c658749b4e9b4f66166407b3eaAutomatic Updater ifneq ($(PLATFORM)$(ARCH_DATA_MODEL),solaris64)
7262eb86f2b465822206122921e2f357218f0cfdAutomatic Updater DO_BOOT_CYCLE=true
96ea71632887c58a9d00f47eb318bf76b35903c3Mark Andrews endif
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterendif
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater
bbb069be941f649228760edcc241122933c066d2Automatic Updater
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater
4cda4fd158d6ded5586bacea8c388445d99611eaAutomatic Updaterifeq ($(DO_BOOT_CYCLE),true)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater # Create the bootdir to use in the build
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater product_build:: create_fresh_product_bootdir
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews debug_build:: create_fresh_debug_bootdir
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fastdebug_build:: create_fresh_fastdebug_bootdir
a382ca49c874d38ad3ac8995b49f9f27128e4ca9Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews # Define variables to be used now for the boot jdk
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews BOOT_CYCLE_SETTINGS= \
89623368b8f662d458d9964b923050f33c5f75b0Tinderbox User ALT_BOOTDIR=$(FRESH_BOOTDIR) \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews ALT_JDK_IMPORT_PATH=$(FRESH_BOOTDIR)
cafd3a2b9974fe0a4ab95e0289746062bd958d68Automatic Updater BOOT_CYCLE_DEBUG_SETTINGS= \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews ALT_BOOTDIR=$(FRESH_DEBUG_BOOTDIR) \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ALT_JDK_IMPORT_PATH=$(FRESH_DEBUG_BOOTDIR)
7a2a1b8b14fc804ac80612d7b98064095e445be5Automatic Updater
f132a836c4e386b1af045dd8fe7106ae61b90bffAutomatic Updaterelse
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
1368e4b34cef64604c874fcc40201c78e548714cTinderbox User # Use the supplied ALT_BOOTDIR as the boot
f7a71eef29bcbf892270460269c79664f600cffdAutomatic Updater BOOT_CYCLE_SETTINGS=
3e5340279d8875d136a4dd815cccad0044aa2644Automatic Updater BOOT_CYCLE_DEBUG_SETTINGS=
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
fe84edc17e0d582cf7b4270f8df9d4742a107b1cAutomatic Updaterendif
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updaterbuild_product_image:
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater $(MAKE) \
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater SKIP_FASTDEBUG_BUILD=true \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater SKIP_DEBUG_BUILD=true \
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater $(BOOT_CYCLE_SETTINGS) \
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater generic_build_repo_series
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater# NOTE: On windows, do not use $(ABS_OUTPUTDIR)-$(DEBUG_NAME).
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater# Due to the use of short paths in $(ABS_OUTPUTDIR), this may
a382ca49c874d38ad3ac8995b49f9f27128e4ca9Automatic Updater# not be the same location.
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User
8f2c45a35dd8c40bcc9caba8f7d40ce64fc27bcdAutomatic Updatergeneric_debug_build:
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User $(MAKE) \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-$(DEBUG_NAME) \
3857cb6fcabeb79d85de4b3e3e4ab99912b701f8Mark Andrews DEBUG_NAME=$(DEBUG_NAME) \
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User GENERATE_DOCS=false \
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User $(BOOT_CYCLE_DEBUG_SETTINGS) \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews generic_build_repo_series
9174e44c14b1cb91a651fa1dc29470438c246ab9Automatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonbuild_debug_image:
e2caa7536302de34de6cc04025abcd53dc3a499aAutomatic Updater $(MAKE) DEBUG_NAME=debug generic_debug_build
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
8292deab031e7599cd7622aa7675fbe139ca6095Mark Andrewsbuild_fastdebug_image:
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews $(MAKE) DEBUG_NAME=fastdebug generic_debug_build
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews# Build final image
dc11390a658e02e1a03accd4dbe14c94fa9de556Automatic Updaterproduct_build:: build_product_image
08d53af7d51409036462fa80fb1bde7a8c2ac123Automatic Updaterdebug_build:: build_debug_image
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsfastdebug_build:: build_fastdebug_image
b109432c3a939bff66a463be86c371bd88efe3aaAutomatic Updater
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updaterclobber:: REPORT_BUILD_TIMES=
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsclobber::
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews $(RM) -r $(OUTPUTDIR)/*
3351ccbd5c1961404044f8273d54dad405f53960Mark Andrews $(RM) -r $(OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-debug/*
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater $(RM) -r $(OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-fastdebug/*
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews -($(RMDIR) -p $(OUTPUTDIR) > $(DEV_NULL) 2>&1; $(TRUE))
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
3351ccbd5c1961404044f8273d54dad405f53960Mark Andrewsclean: clobber
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews#
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews# Dev builds
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater#
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updaterdev : dev-build
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updaterdev-build:
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater $(MAKE) DEV_ONLY=true all
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updaterdev-sanity:
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater $(MAKE) DEV_ONLY=true sanity
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updaterdev-clobber:
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater $(MAKE) DEV_ONLY=true clobber
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater#
b253dcf9668f95e141bce9556dc88e30d3305a1dTinderbox User# Quick jdk verification build
b253dcf9668f95e141bce9556dc88e30d3305a1dTinderbox User#
b253dcf9668f95e141bce9556dc88e30d3305a1dTinderbox Userjdk_only:
b253dcf9668f95e141bce9556dc88e30d3305a1dTinderbox User $(MAKE) SKIP_FASTDEBUG_BUILD=true BUILD_HOTSPOT=false all
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews
b253dcf9668f95e141bce9556dc88e30d3305a1dTinderbox User
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User#
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# Quick jdk verification fastdebug build
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsjdk_fastdebug_only:
8f2c45a35dd8c40bcc9caba8f7d40ce64fc27bcdAutomatic Updater $(MAKE) DEBUG_NAME=fastdebug BUILD_HOTSPOT=false BUILD_DEPLOY=false \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater BUILD_INSTALL=false BUILD_SPONSORS=false generic_debug_build
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Quick deploy verification fastdebug build
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdeploy_fastdebug_only:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(MAKE) \
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater DEBUG_NAME=fastdebug \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater BUILD_HOTSPOT=false \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson BUILD_JDK=false \
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater BUILD_LANGTOOLS=false \
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews BUILD_CORBA=false \
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews BUILD_JAXP=false \
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User BUILD_JAXWS=false \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington BUILD_INSTALL=false \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington BUILD_SPONSORS=false \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User generic_debug_build
f7369b2881b5e63d69600adcedc8ba938303d30cTinderbox User
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User#
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater# Product build (skip debug builds)
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User#
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox Userproduct_only:
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(MAKE) SKIP_FASTDEBUG_BUILD=true all
f7369b2881b5e63d69600adcedc8ba938303d30cTinderbox User
f7369b2881b5e63d69600adcedc8ba938303d30cTinderbox User#
d6317350b1180aa4517f2e8a92fa8fbcbf904ad8Automatic Updater# Check target
bc0a4c01beede169df81a3ee5b614ed9e82339dbAutomatic Updater#
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoncheck: variable_check
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Help target
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhelp: intro_help target_help variable_help notes_help examples_help
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Intro help message
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonintro_help:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonMakefile for the JDK builds (all the JDK). \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Target help
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontarget_help:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington--- Common Targets --- \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonall -- build the core JDK (default target) \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonhelp -- Print out help information \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoncheck -- Check make variable values for correctness \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonsanity -- Perform detailed sanity checks on system and settings \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonfastdebug_build -- build the core JDK in 'fastdebug' mode (-g -O) \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtondebug_build -- build the core JDK in 'debug' mode (-g) \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonclean -- remove all built and imported files \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonclobber -- same as clean \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Variable help (only common ones used by this Makefile)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonvariable_help: variable_help_intro variable_list variable_help_end
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonvariable_help_intro:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "--- Common Variables ---"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonvariable_help_end:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) " "
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# One line descriptions for the variables
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonOUTPUTDIR.desc = Output directory
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonPARALLEL_COMPILE_JOBS.desc = Solaris/Linux parallel compile run count
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonSLASH_JAVA.desc = Root of all build tools, e.g. /java or J:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonBOOTDIR.desc = JDK used to boot the build
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonJDK_IMPORT_PATH.desc = JDK used to import components of the build
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCOMPILER_PATH.desc = Compiler install directory
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCACERTS_FILE.desc = Location of certificates file
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonDEVTOOLS_PATH.desc = Directory containing zip and gnumake
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCUPS_HEADERS_PATH.desc = Include directory location for CUPS header files
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonDXSDK_PATH.desc = Root directory of DirectX SDK
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Make variables to print out (description and value)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonVARIABLE_PRINTVAL_LIST += \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington OUTPUTDIR \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington PARALLEL_COMPILE_JOBS \
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater SLASH_JAVA \
56effd2e3f579fd77b1fb37d47871d1bf1286bc4Automatic Updater BOOTDIR \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater JDK_IMPORT_PATH \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater COMPILER_PATH \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater CACERTS_FILE \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater DEVTOOLS_PATH
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater# Make variables that should refer to directories that exist
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox UserVARIABLE_CHECKDIR_LIST += \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater SLASH_JAVA \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater BOOTDIR \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater JDK_IMPORT_PATH \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater COMPILER_PATH \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater DEVTOOLS_PATH
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater# Make variables that should refer to files that exist
ae7e54b14c946e0984c191554db9abb4893f9349Automatic UpdaterVARIABLE_CHECKFIL_LIST += \
ec8755f605d7dcb2de1076040e77bc2d7ec33b4aTinderbox User CACERTS_FILE
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington# Some are windows specific
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellingtonifeq ($(PLATFORM), windows)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
aa1d397c4736cd86540555193d71e55fa3b37b2aMark AndrewsVARIABLE_PRINTVAL_LIST += \
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews DXSDK_PATH
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
aa1d397c4736cd86540555193d71e55fa3b37b2aMark AndrewsVARIABLE_CHECKDIR_LIST += \
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington DXSDK_PATH
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox Userendif
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater# For pattern rules below, so all are treated the same
099b86fb8136a7dff81df85cf395978c16eb254cAutomatic UpdaterDO_PRINTVAL_LIST=$(VARIABLE_PRINTVAL_LIST:%=%.printval)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonDO_CHECKDIR_LIST=$(VARIABLE_CHECKDIR_LIST:%=%.checkdir)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonDO_CHECKFIL_LIST=$(VARIABLE_CHECKFIL_LIST:%=%.checkfil)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Complete variable check
e10d61d84e0b735f1e8eca18644cfdb1b06cad33Tinderbox Uservariable_check: $(DO_CHECKDIR_LIST) $(DO_CHECKFIL_LIST)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updatervariable_list: $(DO_PRINTVAL_LIST) variable_check
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Pattern rule for printing out a variable
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater%.printval:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater @$(ECHO) " ALT_$* - $($*.desc)"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater @$(ECHO) " \t $*=$($*)"
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
e01f44b37ba11c9d34f4a8394f950efae5c07f33Automatic Updater# Pattern rule for checking to see if a variable with a directory exists
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User%.checkdir:
c01dec514a81ecf8c17ca3ef8c3ba95e437295ebAutomatic Updater @if [ ! -d $($*) ] ; then \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
3de6db3208d51de1e138b63b9670430c03f99694Automatic Updater# Pattern rule for checking to see if a variable with a file exists
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater%.checkfil:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater @if [ ! -f $($*) ] ; then \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Misc notes on help
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonnotes_help:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington--- Notes --- \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington- All builds use same output directory unless overridden with \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington \t ALT_OUTPUTDIR=<dir>, changing from product to fastdebug you may want \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington \t to use the clean target first. \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington- JDK_IMPORT_PATH must refer to a compatible build, not all past promoted \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington \t builds or previous release JDK builds will work. \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington- The fastest builds have been when the sources and the BOOTDIR are on \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington \t local disk. \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonexamples_help:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington--- Examples --- \n\
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews $(MAKE) fastdebug_build \n\
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews $(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) ALT_OUTPUTDIR=/tmp/foobar fastdebug_build \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater $(MAKE) ALT_BOOTDIR=/opt/java/jdk1.5.0 \n\
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk1.6.0 \n\
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User"
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater################################################################
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# Source bundling
79cea03ba823e2d3a34895f0ba91d7fb5ad799e7Automatic Updater################################################################
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox Userifeq ($(BUNDLE_RULES_AVAILABLE), true)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington include $(BUNDLE_RULES)
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrewsendif
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# rule to test
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington.NOTPARALLEL: test_run
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) test_run
b7aab05edae933e169d5f83c653935b17c7f0a8bMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest_run: test_clean test_start test_summary
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest_start:
409ba95e573b40cf36acf97dd62ee7e9c7775851Tinderbox User @$(ECHO) "Tests started at `$(DATE)`"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest_clean:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $(OUTPUTDIR)/test_failures.txt $(OUTPUTDIR)/test_log.txt
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest_summary: $(OUTPUTDIR)/test_failures.txt
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "#################################################"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "Tests completed at `$(DATE)`"
7d704e522860496310bb29c28e76064868401a9cMark Andrews @( $(EGREP) '^TEST STATS:' $(OUTPUTDIR)/test_log.txt \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington || $(ECHO) "No TEST STATS seen in log" )
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "For complete details see: $(OUTPUTDIR)/test_log.txt"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "#################################################"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @if [ -s $< ] ; then \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(ECHO) "ERROR: Test failure count: `$(CAT) $< | $(WC) -l`"; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(CAT) $<; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington exit 1; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington else \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(ECHO) "Success! No failures detected"; \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# Get failure list from log
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater$(OUTPUTDIR)/test_failures.txt: $(OUTPUTDIR)/test_log.txt
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater @$(RM) $@
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater @( $(EGREP) '^FAILED:' $< || $(ECHO) "" ) | $(NAWK) 'length>0' > $@
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Get log file of all tests run
56effd2e3f579fd77b1fb37d47871d1bf1286bc4Automatic UpdaterJDK_TO_TEST := $(shell \
42bee07ebb8152a6ec2f87f4790d87368c24704cAutomatic Updater if [ -d "$(ABS_OUTPUTDIR)/j2sdk-image" ] ; then \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(ECHO) "$(ABS_OUTPUTDIR)/j2sdk-image"; \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater elif [ -d "$(ABS_OUTPUTDIR)/bin" ] ; then \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User $(ECHO) "$(ABS_OUTPUTDIR)"; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington elif [ "$(PRODUCT_HOME)" != "" -a -d "$(PRODUCT_HOME)/bin" ] ; then \
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews $(ECHO) "$(PRODUCT_HOME)"; \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi \
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonTEST_TARGETS=all
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews$(OUTPUTDIR)/test_log.txt:
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews $(RM) $@
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews ( $(CD) test && \
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews $(MAKE) NO_STOPPING=- PRODUCT_HOME=$(JDK_TO_TEST) $(TEST_TARGETS) \
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews ) | tee $@
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# JPRT rule to build
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoninclude ./make/jprt.gmk
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# PHONY
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington.PHONY: all test test_run test_start test_summary test_clean \
409ba95e573b40cf36acf97dd62ee7e9c7775851Tinderbox User generic_build_repo_series \
89623368b8f662d458d9964b923050f33c5f75b0Tinderbox User what clobber insane \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington dev dev-build dev-sanity dev-clobber \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User product_build \
79cea03ba823e2d3a34895f0ba91d7fb5ad799e7Automatic Updater fastdebug_build \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User debug_build \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User build_product_image \
f7369b2881b5e63d69600adcedc8ba938303d30cTinderbox User build_debug_image \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater build_fastdebug_image \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater create_fresh_product_bootdir \
84a18c72b9f05a7d2aabbc50886de494251d1719Automatic Updater create_fresh_debug_bootdir \
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater create_fresh_fastdebug_bootdir \
b0d566a2ce0f5a67f537ee7f8233f82f2584cc61Automatic Updater generic_debug_build
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Force target
1fdd58445074579ee3b65c871137a7a1740eb542Mark AndrewsFRC:
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User