Makefile revision 289
48c0c81cd6fabac9d3386406d97633780365b839coar#
638a9edaf48cf003cd40ac25ee8c25f572107414stoddard# Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj#
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# This code is free software; you can redistribute it and/or modify it
0d2f57cf389a981efa5e98d9b451c6baf0af12bfjerenkrantz# under the terms of the GNU General Public License version 2 only, as
0d2f57cf389a981efa5e98d9b451c6baf0af12bfjerenkrantz# published by the Free Software Foundation. Oracle designates this
2cc7cdffce670f2ae1bd4ae502b2c19481487dbejerenkrantz# particular file as subject to the "Classpath" exception as provided
d89c116f82699294ca744125723651c554bc5925wrowe# by Oracle in the LICENSE file that accompanied this code.
4214e98fc9045e5010e66f9a967bd6d68f40d342aaron#
8721697e2aece27b0e738519329f7976c72b27bfjerenkrantz# This code is distributed in the hope that it will be useful, but WITHOUT
4a257be29f8aeab984fe5622fa69e0b2aab204d7jerenkrantz# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
91cacb801f6c0215b38322f6d2fc58cbfedfecfbjerenkrantz# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
91cacb801f6c0215b38322f6d2fc58cbfedfecfbjerenkrantz# version 2 for more details (a copy is included in the LICENSE file that
df14f0d3a5191cdd7c4bb5b03acd135d43a6f51brbb# accompanied this code).
df14f0d3a5191cdd7c4bb5b03acd135d43a6f51brbb#
ab71b233b3a36489e44a7b061c48293be0b17788jwoolley# You should have received a copy of the GNU General Public License version
571760de5e60c0b459cb11be45507b923cd023eejwoolley# 2 along with this work; if not, write to the Free Software Foundation,
571760de5e60c0b459cb11be45507b923cd023eejwoolley# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
9180a5933673ffb1af633c255ceee029340f3b1erbb#
bcb6e1be6041dfeb549c8ea8d37f97ad4e90a0c3rbb# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
9bd71e35f5d26d26d23fe3a677401828e842ed72wrowe# or visit www.oracle.com if you need additional information or have any
2900ab946a2d76b73a14cebfe2985d253f01c967stoddard# questions.
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb#
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbbBUILD_PARENT_DIRECTORY=.
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gsteinifndef TOPDIR
35330e0d79ceb8027223bbb8330a381b1f989d6etrawick TOPDIR:=.
6f6f4a4bca281779d196acbdd5c017bb90858305trawickendif
8dd4618c4709236b4ea297d7250d282e463ce2d8rbb
09bd86d0db1114ee23eda0a6eb76ca055877a1cftrawickifndef JDK_TOPDIR
2deb319e6b3de239f45c16a3e9e836d44f1f7108rbb JDK_TOPDIR=$(TOPDIR)/jdk
bd929c73ef04789b7183b840d8db6e01d03a4d86rbbendif
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanojifndef JDK_MAKE_SHARED_DIR
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj JDK_MAKE_SHARED_DIR=$(JDK_TOPDIR)/make/common/shared
af4c982a7cf4515f124935f99a329744035fc699sliveendif
af4c982a7cf4515f124935f99a329744035fc699slive
af4c982a7cf4515f124935f99a329744035fc699slive# For start and finish echo lines
af4c982a7cf4515f124935f99a329744035fc699sliveTITLE_TEXT = Control $(PLATFORM) $(ARCH) $(RELEASE)
af4c982a7cf4515f124935f99a329744035fc699sliveDATE_STAMP = `$(DATE) '+%y-%m-%d %H:%M'`
af4c982a7cf4515f124935f99a329744035fc699sliveSTART_ECHO = echo "$(TITLE_TEXT) $@ build started: $(DATE_STAMP)"
af4c982a7cf4515f124935f99a329744035fc699sliveFINISH_ECHO = echo "$(TITLE_TEXT) $@ build finished: $(DATE_STAMP)"
10270f6f94b2069d0d357805c140a9897449b9ccianh
4b62424416882687387923b3130b96241503cbe0jerenkrantzdefault: all
5ca8e11fadb6f7a8d9d0367c1800205c99d4bcd6jerenkrantz
0d2f57cf389a981efa5e98d9b451c6baf0af12bfjerenkrantzinclude $(JDK_MAKE_SHARED_DIR)/Defs-control.gmk
0d2f57cf389a981efa5e98d9b451c6baf0af12bfjerenkrantzinclude ./make/Defs-internal.gmk
5ca8e11fadb6f7a8d9d0367c1800205c99d4bcd6jerenkrantzinclude ./make/sanity-rules.gmk
4b62424416882687387923b3130b96241503cbe0jerenkrantzinclude ./make/hotspot-rules.gmk
4b62424416882687387923b3130b96241503cbe0jerenkrantzinclude ./make/langtools-rules.gmk
7fe18c15b669db9d191859695901dc4fcf3829dawroweinclude ./make/corba-rules.gmk
7fe18c15b669db9d191859695901dc4fcf3829dawroweinclude ./make/jaxp-rules.gmk
7fe18c15b669db9d191859695901dc4fcf3829dawroweinclude ./make/jaxws-rules.gmk
b84f66c93f820824b1d5455181f55598b766319cwroweinclude ./make/jdk-rules.gmk
7fe18c15b669db9d191859695901dc4fcf3829dawroweinclude ./make/install-rules.gmk
976501adbc040220270f7d1d77c4b8373033be69wroweinclude ./make/sponsors-rules.gmk
976501adbc040220270f7d1d77c4b8373033be69wroweinclude ./make/deploy-rules.gmk
976501adbc040220270f7d1d77c4b8373033be69wrowe
976501adbc040220270f7d1d77c4b8373033be69wrowe# What "all" means
976501adbc040220270f7d1d77c4b8373033be69wroweall::
4fbf750a26f2e9adf8f17804d4c42ed9eefad420jim @$(START_ECHO)
4fbf750a26f2e9adf8f17804d4c42ed9eefad420jim
4fbf750a26f2e9adf8f17804d4c42ed9eefad420jimall:: sanity
05e4bc4973958917a458e0f27b260c117414df71trawick
05e4bc4973958917a458e0f27b260c117414df71trawickifeq ($(SKIP_FASTDEBUG_BUILD), false)
05e4bc4973958917a458e0f27b260c117414df71trawick all:: fastdebug_build
05e4bc4973958917a458e0f27b260c117414df71trawickendif
05e4bc4973958917a458e0f27b260c117414df71trawick
05e4bc4973958917a458e0f27b260c117414df71trawickifeq ($(SKIP_DEBUG_BUILD), false)
fb585e7ccd9194964442d6b0d89fa93109bcc57dgregames all:: debug_build
fb585e7ccd9194964442d6b0d89fa93109bcc57dgregamesendif
fb585e7ccd9194964442d6b0d89fa93109bcc57dgregames
fb585e7ccd9194964442d6b0d89fa93109bcc57dgregamesall:: all_product_build
fb585e7ccd9194964442d6b0d89fa93109bcc57dgregames
fb585e7ccd9194964442d6b0d89fa93109bcc57dgregamesall::
b84f66c93f820824b1d5455181f55598b766319cwrowe @$(FINISH_ECHO)
e96626975ebc300abc02202f98296f2774e04367brianp
e96626975ebc300abc02202f98296f2774e04367brianp# Everything for a full product build
e96626975ebc300abc02202f98296f2774e04367brianpall_product_build::
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz @$(START_ECHO)
0d2f57cf389a981efa5e98d9b451c6baf0af12bfjerenkrantz
0d2f57cf389a981efa5e98d9b451c6baf0af12bfjerenkrantzifeq ($(SKIP_PRODUCT_BUILD), false)
0d2f57cf389a981efa5e98d9b451c6baf0af12bfjerenkrantz
a12b7938cf47a0017a70ba195bbce035aa040e38aaron all_product_build:: product_build
a12b7938cf47a0017a70ba195bbce035aa040e38aaron
a12b7938cf47a0017a70ba195bbce035aa040e38aaron ifeq ($(BUILD_INSTALL), true)
ce6fb56676a44cddd0b2414a7c4c28da2608a4f3stoddard all_product_build:: $(INSTALL)
f49387f556886ad6a6b4efc724ed9aa1d3412228jerenkrantz clobber:: install-clobber
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz endif
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz ifeq ($(BUILD_SPONSORS), true)
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz all_product_build:: $(SPONSORS)
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz clobber:: sponsors-clobber
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz endif
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz ifneq ($(SKIP_COMPARE_IMAGES), true)
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz all_product_build:: compare-image
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz endif
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantzendif
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantzall_product_build::
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz @$(FINISH_ECHO)
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz# Generic build of basic repo series
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantzgeneric_build_repo_series::
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz $(MKDIR) -p $(OUTPUTDIR)
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz $(MKDIR) -p $(OUTPUTDIR)/j2sdk-image
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantzifeq ($(BUILD_LANGTOOLS), true)
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz generic_build_repo_series:: langtools
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz clobber:: langtools-clobber
bcca8071772ad81c16009aea3a7da3ef9da41173trawickendif
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantzifeq ($(BUILD_CORBA), true)
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz generic_build_repo_series:: corba
a23b1c5a74208b03884c09a6f9dd5d6c97fa6415trawick clobber:: corba-clobber
638a9edaf48cf003cd40ac25ee8c25f572107414stoddardendif
638a9edaf48cf003cd40ac25ee8c25f572107414stoddard
638a9edaf48cf003cd40ac25ee8c25f572107414stoddardifeq ($(BUILD_JAXP), true)
83d91d60d00dc345bfbcbc48ff206db4a6b23b2eaaron generic_build_repo_series:: jaxp
83d91d60d00dc345bfbcbc48ff206db4a6b23b2eaaron clobber:: jaxp-clobber
83d91d60d00dc345bfbcbc48ff206db4a6b23b2eaaronendif
83d91d60d00dc345bfbcbc48ff206db4a6b23b2eaaron
83d91d60d00dc345bfbcbc48ff206db4a6b23b2eaaronifeq ($(BUILD_JAXWS), true)
83d91d60d00dc345bfbcbc48ff206db4a6b23b2eaaron generic_build_repo_series:: jaxws
83d91d60d00dc345bfbcbc48ff206db4a6b23b2eaaron clobber:: jaxws-clobber
83d91d60d00dc345bfbcbc48ff206db4a6b23b2eaaronendif
db2d668e6233d8949b35ee7f9f42f444758f9ce9rbb
db2d668e6233d8949b35ee7f9f42f444758f9ce9rbbifeq ($(BUILD_HOTSPOT), true)
db2d668e6233d8949b35ee7f9f42f444758f9ce9rbb generic_build_repo_series:: $(HOTSPOT)
db2d668e6233d8949b35ee7f9f42f444758f9ce9rbb clobber:: hotspot-clobber
db2d668e6233d8949b35ee7f9f42f444758f9ce9rbbendif
db2d668e6233d8949b35ee7f9f42f444758f9ce9rbb
db2d668e6233d8949b35ee7f9f42f444758f9ce9rbbifeq ($(BUILD_JDK), true)
1ea5221b240a8b41a07c6fb04aab5a73adcddabfaaron generic_build_repo_series:: $(JDK_JAVA_EXE)
1ea5221b240a8b41a07c6fb04aab5a73adcddabfaaron clobber:: jdk-clobber
1ea5221b240a8b41a07c6fb04aab5a73adcddabfaaronendif
1ea5221b240a8b41a07c6fb04aab5a73adcddabfaaron
a12f07383f9c286519fe88f559187148d5bd1c16aaronifeq ($(BUILD_DEPLOY), true)
1ea5221b240a8b41a07c6fb04aab5a73adcddabfaaron generic_build_repo_series:: $(DEPLOY)
1ea5221b240a8b41a07c6fb04aab5a73adcddabfaaron clobber:: deploy-clobber
5d12baef135b5d3cb94745e007a1575398469724jerenkrantzendif
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz# The debug build, fastdebug or debug. Needs special handling.
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz# Note that debug builds do NOT do INSTALL steps, but must be done
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz# after the product build and before the INSTALL step of the product build.
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz#
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz# DEBUG_NAME is fastdebug or debug
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz# ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz# The resulting j2sdk-image is used by the install makefiles to create a
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz# debug install bundle jdk-*-debug-** bundle (tar or zip)
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz# which will install in the debug or fastdebug subdirectory of the
5d12baef135b5d3cb94745e007a1575398469724jerenkrantz# normal product install area.
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz# The install process needs to know what the DEBUG_NAME is, so
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz# look for INSTALL_DEBUG_NAME in the install rules.
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz#
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz# NOTE: On windows, do not use $(ABS_BOOTDIR_OUTPUTDIR)-$(DEBUG_NAME).
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz# Due to the use of short paths in $(ABS_OUTPUTDIR), this may
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz# not be the same location.
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz#
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz# Location of fresh bootdir output
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantzABS_BOOTDIR_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantzFRESH_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/j2sdk-image
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantzFRESH_DEBUG_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-$(DEBUG_NAME)/j2sdk-image
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantzcreate_fresh_product_bootdir: FRC
b865daaa4ef731a7066ee6d97e2aae36c7743939jerenkrantz @$(START_ECHO)
dc098c7ce5d36179c504d09fc722d190683d0262aaron $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
dc098c7ce5d36179c504d09fc722d190683d0262aaron GENERATE_DOCS=false \
dc098c7ce5d36179c504d09fc722d190683d0262aaron BOOT_CYCLE_SETTINGS= \
dc098c7ce5d36179c504d09fc722d190683d0262aaron build_product_image
dc098c7ce5d36179c504d09fc722d190683d0262aaron @$(FINISH_ECHO)
dc098c7ce5d36179c504d09fc722d190683d0262aaron
dc098c7ce5d36179c504d09fc722d190683d0262aaroncreate_fresh_debug_bootdir: FRC
364dfd4527e6ce37b828a42e2c0bbdf9ba19a9b8gregames @$(START_ECHO)
364dfd4527e6ce37b828a42e2c0bbdf9ba19a9b8gregames $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
dc098c7ce5d36179c504d09fc722d190683d0262aaron GENERATE_DOCS=false \
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron BOOT_CYCLE_DEBUG_SETTINGS= \
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron build_debug_image
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron @$(FINISH_ECHO)
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaroncreate_fresh_fastdebug_bootdir: FRC
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaron @$(START_ECHO)
262bfa74293f7bc2049b4cd525875c8775711ca2aaron $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
262bfa74293f7bc2049b4cd525875c8775711ca2aaron GENERATE_DOCS=false \
262bfa74293f7bc2049b4cd525875c8775711ca2aaron BOOT_CYCLE_DEBUG_SETTINGS= \
262bfa74293f7bc2049b4cd525875c8775711ca2aaron build_fastdebug_image
262bfa74293f7bc2049b4cd525875c8775711ca2aaron @$(FINISH_ECHO)
262bfa74293f7bc2049b4cd525875c8775711ca2aaron
262bfa74293f7bc2049b4cd525875c8775711ca2aaron# Create boot image?
262bfa74293f7bc2049b4cd525875c8775711ca2aaronifeq ($(SKIP_BOOT_CYCLE),false)
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz ifneq ($(PLATFORM)$(ARCH_DATA_MODEL),solaris64)
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz DO_BOOT_CYCLE=true
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz endif
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantzendif
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantzifeq ($(DO_BOOT_CYCLE),true)
ff42f83cbf31893bcde9712332a8e5ee970f6a74trawick
ff42f83cbf31893bcde9712332a8e5ee970f6a74trawick # Create the bootdir to use in the build
ff42f83cbf31893bcde9712332a8e5ee970f6a74trawick product_build:: create_fresh_product_bootdir
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantz debug_build:: create_fresh_debug_bootdir
54e1babd5a5a56c576eeeace54110150769cc916coar fastdebug_build:: create_fresh_fastdebug_bootdir
54e1babd5a5a56c576eeeace54110150769cc916coar
54e1babd5a5a56c576eeeace54110150769cc916coar # Define variables to be used now for the boot jdk
54e1babd5a5a56c576eeeace54110150769cc916coar BOOT_CYCLE_SETTINGS= \
54e1babd5a5a56c576eeeace54110150769cc916coar ALT_BOOTDIR=$(FRESH_BOOTDIR) \
54e1babd5a5a56c576eeeace54110150769cc916coar ALT_JDK_IMPORT_PATH=$(FRESH_BOOTDIR)
54e1babd5a5a56c576eeeace54110150769cc916coar BOOT_CYCLE_DEBUG_SETTINGS= \
54e1babd5a5a56c576eeeace54110150769cc916coar ALT_BOOTDIR=$(FRESH_DEBUG_BOOTDIR) \
54e1babd5a5a56c576eeeace54110150769cc916coar ALT_JDK_IMPORT_PATH=$(FRESH_DEBUG_BOOTDIR)
54e1babd5a5a56c576eeeace54110150769cc916coar
54e1babd5a5a56c576eeeace54110150769cc916coarelse
54e1babd5a5a56c576eeeace54110150769cc916coar
54e1babd5a5a56c576eeeace54110150769cc916coar # Use the supplied ALT_BOOTDIR as the boot
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz BOOT_CYCLE_SETTINGS=
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz BOOT_CYCLE_DEBUG_SETTINGS=
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantzendif
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantz
949aa7bba7f804faa8e6b08cad42a98fc0255d85jerenkrantzbuild_product_image:
e0427bf8e52a8fb920cb8b6adb5cdb3b6535b7fecoar @$(START_ECHO)
e0427bf8e52a8fb920cb8b6adb5cdb3b6535b7fecoar $(MAKE) \
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz SKIP_FASTDEBUG_BUILD=true \
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz SKIP_DEBUG_BUILD=true \
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz $(BOOT_CYCLE_SETTINGS) \
07021d9f405849228b859d9fb4b877f20e4fbba3jerenkrantz generic_build_repo_series
f126ee03179eb54308118f1ec3de5a7b461685d8aaron @$(FINISH_ECHO)
f126ee03179eb54308118f1ec3de5a7b461685d8aaron
f126ee03179eb54308118f1ec3de5a7b461685d8aaron# NOTE: On windows, do not use $(ABS_OUTPUTDIR)-$(DEBUG_NAME).
f126ee03179eb54308118f1ec3de5a7b461685d8aaron# Due to the use of short paths in $(ABS_OUTPUTDIR), this may
f126ee03179eb54308118f1ec3de5a7b461685d8aaron# not be the same location.
f126ee03179eb54308118f1ec3de5a7b461685d8aaron
f126ee03179eb54308118f1ec3de5a7b461685d8aarongeneric_debug_build:
f126ee03179eb54308118f1ec3de5a7b461685d8aaron @$(START_ECHO)
f126ee03179eb54308118f1ec3de5a7b461685d8aaron $(MAKE) \
f126ee03179eb54308118f1ec3de5a7b461685d8aaron ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-$(DEBUG_NAME) \
f126ee03179eb54308118f1ec3de5a7b461685d8aaron DEBUG_NAME=$(DEBUG_NAME) \
f126ee03179eb54308118f1ec3de5a7b461685d8aaron GENERATE_DOCS=false \
f126ee03179eb54308118f1ec3de5a7b461685d8aaron $(BOOT_CYCLE_DEBUG_SETTINGS) \
f126ee03179eb54308118f1ec3de5a7b461685d8aaron generic_build_repo_series
f126ee03179eb54308118f1ec3de5a7b461685d8aaron @$(FINISH_ECHO)
109faf633e12ab0bbdd602c7addc795cce59e8addreid
109faf633e12ab0bbdd602c7addc795cce59e8addreidbuild_debug_image:
109faf633e12ab0bbdd602c7addc795cce59e8addreid $(MAKE) DEBUG_NAME=debug generic_debug_build
109faf633e12ab0bbdd602c7addc795cce59e8addreid
109faf633e12ab0bbdd602c7addc795cce59e8addreidbuild_fastdebug_image:
109faf633e12ab0bbdd602c7addc795cce59e8addreid $(MAKE) DEBUG_NAME=fastdebug generic_debug_build
109faf633e12ab0bbdd602c7addc795cce59e8addreid
109faf633e12ab0bbdd602c7addc795cce59e8addreid# Build final image
109faf633e12ab0bbdd602c7addc795cce59e8addreidproduct_build:: build_product_image
109faf633e12ab0bbdd602c7addc795cce59e8addreiddebug_build:: build_debug_image
109faf633e12ab0bbdd602c7addc795cce59e8addreidfastdebug_build:: build_fastdebug_image
109faf633e12ab0bbdd602c7addc795cce59e8addreid
109faf633e12ab0bbdd602c7addc795cce59e8addreidclobber::
109faf633e12ab0bbdd602c7addc795cce59e8addreid $(RM) -r $(OUTPUTDIR)/*
4ca13a5e126946272f02637e268a8e09193c553ecoar $(RM) -r $(OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-debug/*
4ca13a5e126946272f02637e268a8e09193c553ecoar $(RM) -r $(OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-fastdebug/*
4ca13a5e126946272f02637e268a8e09193c553ecoar -($(RMDIR) -p $(OUTPUTDIR) > $(DEV_NULL) 2>&1; $(TRUE))
4ca13a5e126946272f02637e268a8e09193c553ecoar
4ca13a5e126946272f02637e268a8e09193c553ecoarclean: clobber
48c0c81cd6fabac9d3386406d97633780365b839coar
48c0c81cd6fabac9d3386406d97633780365b839coar#
48c0c81cd6fabac9d3386406d97633780365b839coar# Dev builds
48c0c81cd6fabac9d3386406d97633780365b839coar#
48c0c81cd6fabac9d3386406d97633780365b839coar
48c0c81cd6fabac9d3386406d97633780365b839coardev : dev-build
48c0c81cd6fabac9d3386406d97633780365b839coar
e0427bf8e52a8fb920cb8b6adb5cdb3b6535b7fecoardev-build:
4ca13a5e126946272f02637e268a8e09193c553ecoar $(MAKE) DEV_ONLY=true all
b84f66c93f820824b1d5455181f55598b766319cwrowedev-sanity:
b84f66c93f820824b1d5455181f55598b766319cwrowe $(MAKE) DEV_ONLY=true sanity
b84f66c93f820824b1d5455181f55598b766319cwrowedev-clobber:
b84f66c93f820824b1d5455181f55598b766319cwrowe $(MAKE) DEV_ONLY=true clobber
7fe18c15b669db9d191859695901dc4fcf3829dawrowe
7fe18c15b669db9d191859695901dc4fcf3829dawrowe#
7fe18c15b669db9d191859695901dc4fcf3829dawrowe# Quick jdk verification build
7fe18c15b669db9d191859695901dc4fcf3829dawrowe#
b84f66c93f820824b1d5455181f55598b766319cwrowejdk_only:
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe $(MAKE) SKIP_FASTDEBUG_BUILD=true BUILD_HOTSPOT=false all
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe
d24a92b8a8315e9a266ba84cc2a996d49dd546c1stoddard#
48c0c81cd6fabac9d3386406d97633780365b839coar# Quick jdk verification fastdebug build
48c0c81cd6fabac9d3386406d97633780365b839coar#
48c0c81cd6fabac9d3386406d97633780365b839coarjdk_fastdebug_only:
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe $(MAKE) DEBUG_NAME=fastdebug BUILD_HOTSPOT=false BUILD_DEPLOY=false \
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe BUILD_INSTALL=false BUILD_SPONSORS=false generic_debug_build
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe#
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe# Quick deploy verification fastdebug build
7239216999e746bb4fc7671621becea33c5c1c87stoddard#
d180ec1b29106f4fec480ef7fcdb04df078010cersedeploy_fastdebug_only:
d180ec1b29106f4fec480ef7fcdb04df078010cerse $(MAKE) \
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley DEBUG_NAME=fastdebug \
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley BUILD_HOTSPOT=false \
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley BUILD_JDK=false \
57710387e669ee41fb211458efe09c4c73194a66jwoolley BUILD_LANGTOOLS=false \
57710387e669ee41fb211458efe09c4c73194a66jwoolley BUILD_CORBA=false \
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley BUILD_JAXP=false \
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley BUILD_JAXWS=false \
d180ec1b29106f4fec480ef7fcdb04df078010cerse BUILD_INSTALL=false \
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard BUILD_SPONSORS=false \
49facccad3f5c3e9e49311487b5069699c3bf3fdjwoolley generic_debug_build
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard#
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard# Product build (skip debug builds)
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard#
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddardproduct_only:
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley $(MAKE) SKIP_FASTDEBUG_BUILD=true all
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley#
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley# Check target
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley#
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolleycheck: variable_check
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley#
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard# Help target
19cbe4d7b7c931723e7249de6829bf965a1fee72stoddard#
19cbe4d7b7c931723e7249de6829bf965a1fee72stoddardhelp: intro_help target_help variable_help notes_help examples_help
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard# Intro help message
b187d568e1507d75139ebc13ca945b38fc05d55cstoddardintro_help:
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard @$(ECHO) "\
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddardMakefile for the JDK builds (all the JDK). \n\
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard"
d2f8b010487ffa990a9c268df5a25579e7291bcdrbb
d2f8b010487ffa990a9c268df5a25579e7291bcdrbb# Target help
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddardtarget_help:
0bff2f28ef945280c17099c142126178a78e1e54manoj @$(ECHO) "\
0bff2f28ef945280c17099c142126178a78e1e54manoj--- Common Targets --- \n\
0bff2f28ef945280c17099c142126178a78e1e54manojall -- build the core JDK (default target) \n\
1e585ba09ea32272e63c4c39c35491e975d21d98stoddardhelp -- Print out help information \n\
0bff2f28ef945280c17099c142126178a78e1e54manojcheck -- Check make variable values for correctness \n\
35330e0d79ceb8027223bbb8330a381b1f989d6etrawicksanity -- Perform detailed sanity checks on system and settings \n\
0bff2f28ef945280c17099c142126178a78e1e54manojfastdebug_build -- build the core JDK in 'fastdebug' mode (-g -O) \n\
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddarddebug_build -- build the core JDK in 'debug' mode (-g) \n\
ff849e4163ed879288f0df15f78b6c9d278ec804fanfclean -- remove all built and imported files \n\
ff849e4163ed879288f0df15f78b6c9d278ec804fanfclobber -- same as clean \n\
447c6ce3ff08073c44f6785d5256271fcb877512wrowe"
e0427bf8e52a8fb920cb8b6adb5cdb3b6535b7fecoar
e0427bf8e52a8fb920cb8b6adb5cdb3b6535b7fecoar# Variable help (only common ones used by this Makefile)
e0427bf8e52a8fb920cb8b6adb5cdb3b6535b7fecoarvariable_help: variable_help_intro variable_list variable_help_end
e0427bf8e52a8fb920cb8b6adb5cdb3b6535b7fecoarvariable_help_intro:
6758b07b4b79f898b0f56375016cea7da0bfb495wrowe @$(ECHO) "--- Common Variables ---"
6758b07b4b79f898b0f56375016cea7da0bfb495wrowevariable_help_end:
6758b07b4b79f898b0f56375016cea7da0bfb495wrowe @$(ECHO) " "
7fe18c15b669db9d191859695901dc4fcf3829dawrowe
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein# One line descriptions for the variables
dd4713dc5b186f4d1be7b88f86608fdb84cbe5d5gsteinOUTPUTDIR.desc = Output directory
48c0c81cd6fabac9d3386406d97633780365b839coarPARALLEL_COMPILE_JOBS.desc = Solaris/Linux parallel compile run count
48c0c81cd6fabac9d3386406d97633780365b839coarSLASH_JAVA.desc = Root of all build tools, e.g. /java or J:
48c0c81cd6fabac9d3386406d97633780365b839coarBOOTDIR.desc = JDK used to boot the build
48c0c81cd6fabac9d3386406d97633780365b839coarJDK_IMPORT_PATH.desc = JDK used to import components of the build
db3ccce11afac4fc1d4f51a65424412f7480c46cgsteinCOMPILER_PATH.desc = Compiler install directory
79d5106a9b65b956d646f5daae4b94bc79e315b8trawickCACERTS_FILE.desc = Location of certificates file
79d5106a9b65b956d646f5daae4b94bc79e315b8trawickDEVTOOLS_PATH.desc = Directory containing zip and gnumake
79d5106a9b65b956d646f5daae4b94bc79e315b8trawickCUPS_HEADERS_PATH.desc = Include directory location for CUPS header files
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gsteinDXSDK_PATH.desc = Root directory of DirectX SDK
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein# Make variables to print out (description and value)
6fa71a1bd8c61518b05f5798a7a1594c270e78afrbbVARIABLE_PRINTVAL_LIST += \
93c5cba06b623ebe8e4372e886eece12d9a80c3egstein OUTPUTDIR \
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein PARALLEL_COMPILE_JOBS \
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein SLASH_JAVA \
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein BOOTDIR \
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein JDK_IMPORT_PATH \
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein COMPILER_PATH \
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein CACERTS_FILE \
823c303d33c9e637a83d82208bcbafaf5f532d7bgstein DEVTOOLS_PATH
823c303d33c9e637a83d82208bcbafaf5f532d7bgstein
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj# Make variables that should refer to directories that exist
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanojVARIABLE_CHECKDIR_LIST += \
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj SLASH_JAVA \
281da4c02cf40c663298ded7e4e5b913a8f8b814gstein BOOTDIR \
281da4c02cf40c663298ded7e4e5b913a8f8b814gstein JDK_IMPORT_PATH \
2f728b2e8555fee1b7cc11e886488692f2575fbddougm COMPILER_PATH \
2f728b2e8555fee1b7cc11e886488692f2575fbddougm DEVTOOLS_PATH
2f728b2e8555fee1b7cc11e886488692f2575fbddougm
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe# Make variables that should refer to files that exist
48c0c81cd6fabac9d3386406d97633780365b839coarVARIABLE_CHECKFIL_LIST += \
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe CACERTS_FILE
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe# Some are windows specific
60d567a0c2aae815ee6fc20c0d65032bea52c92cwroweifeq ($(PLATFORM), windows)
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe
60d567a0c2aae815ee6fc20c0d65032bea52c92cwroweVARIABLE_PRINTVAL_LIST += \
fdff4ace2701177219fe1c444f69242372423354aaron DXSDK_PATH
fdff4ace2701177219fe1c444f69242372423354aaron
fdff4ace2701177219fe1c444f69242372423354aaronVARIABLE_CHECKDIR_LIST += \
fdff4ace2701177219fe1c444f69242372423354aaron DXSDK_PATH
fdff4ace2701177219fe1c444f69242372423354aaron
fdff4ace2701177219fe1c444f69242372423354aaronendif
fdff4ace2701177219fe1c444f69242372423354aaron
fdff4ace2701177219fe1c444f69242372423354aaron# For pattern rules below, so all are treated the same
27757f6699a924d4b493a1b6cceb27df27a43287dreidDO_PRINTVAL_LIST=$(VARIABLE_PRINTVAL_LIST:%=%.printval)
27757f6699a924d4b493a1b6cceb27df27a43287dreidDO_CHECKDIR_LIST=$(VARIABLE_CHECKDIR_LIST:%=%.checkdir)
27757f6699a924d4b493a1b6cceb27df27a43287dreidDO_CHECKFIL_LIST=$(VARIABLE_CHECKFIL_LIST:%=%.checkfil)
7169eebe7cef1a6bbd082f28b1906f91b6fc6621stoddard
7169eebe7cef1a6bbd082f28b1906f91b6fc6621stoddard# Complete variable check
7169eebe7cef1a6bbd082f28b1906f91b6fc6621stoddardvariable_check: $(DO_CHECKDIR_LIST) $(DO_CHECKFIL_LIST)
7169eebe7cef1a6bbd082f28b1906f91b6fc6621stoddardvariable_list: $(DO_PRINTVAL_LIST) variable_check
21e01f13f717faeca3e498d7d9c9b4d3af98ae27trawick
21e01f13f717faeca3e498d7d9c9b4d3af98ae27trawick# Pattern rule for printing out a variable
21e01f13f717faeca3e498d7d9c9b4d3af98ae27trawick%.printval:
21e01f13f717faeca3e498d7d9c9b4d3af98ae27trawick @$(ECHO) " ALT_$* - $($*.desc)"
21e01f13f717faeca3e498d7d9c9b4d3af98ae27trawick @$(ECHO) " \t $*=$($*)"
21e01f13f717faeca3e498d7d9c9b4d3af98ae27trawick
21e01f13f717faeca3e498d7d9c9b4d3af98ae27trawick# Pattern rule for checking to see if a variable with a directory exists
64ad864fa0f4493eebb181e393b40a8a90beccb9coar%.checkdir:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @if [ ! -d $($*) ] ; then \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar fi
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
48c0c81cd6fabac9d3386406d97633780365b839coar# Pattern rule for checking to see if a variable with a file exists
64ad864fa0f4493eebb181e393b40a8a90beccb9coar%.checkfil:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @if [ ! -f $($*) ] ; then \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
48c0c81cd6fabac9d3386406d97633780365b839coar fi
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar# Misc notes on help
64ad864fa0f4493eebb181e393b40a8a90beccb9coarnotes_help:
48c0c81cd6fabac9d3386406d97633780365b839coar @$(ECHO) "\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar--- Notes --- \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar- All builds use same output directory unless overridden with \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar \t ALT_OUTPUTDIR=<dir>, changing from product to fastdebug you may want \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar \t to use the clean target first. \n\
48c0c81cd6fabac9d3386406d97633780365b839coar- JDK_IMPORT_PATH must refer to a compatible build, not all past promoted \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar \t builds or previous release JDK builds will work. \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar- The fastest builds have been when the sources and the BOOTDIR are on \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar \t local disk. \n\
48c0c81cd6fabac9d3386406d97633780365b839coar"
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coarexamples_help:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @$(ECHO) "\
48c0c81cd6fabac9d3386406d97633780365b839coar--- Examples --- \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(MAKE) fastdebug_build \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(MAKE) ALT_OUTPUTDIR=/tmp/foobar fastdebug_build \n\
48c0c81cd6fabac9d3386406d97633780365b839coar $(MAKE) ALT_OUTPUTDIR=/tmp/foobar all \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(MAKE) ALT_BOOTDIR=/opt/java/jdk1.5.0 \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk1.6.0 \n\
64ad864fa0f4493eebb181e393b40a8a90beccb9coar"
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
48c0c81cd6fabac9d3386406d97633780365b839coar################################################################
64ad864fa0f4493eebb181e393b40a8a90beccb9coar# Source bundling
64ad864fa0f4493eebb181e393b40a8a90beccb9coar################################################################
64ad864fa0f4493eebb181e393b40a8a90beccb9coarifeq ($(BUNDLE_RULES_AVAILABLE), true)
48c0c81cd6fabac9d3386406d97633780365b839coar include $(BUNDLE_RULES)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarendif
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar################################################################
48c0c81cd6fabac9d3386406d97633780365b839coar# rule to test
64ad864fa0f4493eebb181e393b40a8a90beccb9coar################################################################
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar.NOTPARALLEL: test_run
48c0c81cd6fabac9d3386406d97633780365b839coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coartest:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(MAKE) test_run
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
48c0c81cd6fabac9d3386406d97633780365b839coartest_run: test_clean test_start test_summary
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coartest_start:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @$(ECHO) "Tests started at `$(DATE)`"
48c0c81cd6fabac9d3386406d97633780365b839coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coartest_clean:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $(OUTPUTDIR)/test_failures.txt $(OUTPUTDIR)/test_log.txt
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
48c0c81cd6fabac9d3386406d97633780365b839coartest_summary: $(OUTPUTDIR)/test_failures.txt
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @$(ECHO) "#################################################"
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @$(ECHO) "Tests completed at `$(DATE)`"
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @( $(EGREP) '^TEST STATS:' $(OUTPUTDIR)/test_log.txt \
48c0c81cd6fabac9d3386406d97633780365b839coar || $(ECHO) "No TEST STATS seen in log" )
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @$(ECHO) "For complete details see: $(OUTPUTDIR)/test_log.txt"
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @$(ECHO) "#################################################"
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @if [ -s $< ] ; then \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(ECHO) "ERROR: Test failure count: `$(CAT) $< | $(WC) -l`"; \
48c0c81cd6fabac9d3386406d97633780365b839coar $(CAT) $<; \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar exit 1; \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar else \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(ECHO) "Success! No failures detected"; \
48c0c81cd6fabac9d3386406d97633780365b839coar fi
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar# Get failure list from log
64ad864fa0f4493eebb181e393b40a8a90beccb9coar$(OUTPUTDIR)/test_failures.txt: $(OUTPUTDIR)/test_log.txt
48c0c81cd6fabac9d3386406d97633780365b839coar @$(RM) $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar @( $(EGREP) '^FAILED:' $< || $(ECHO) "" ) | $(NAWK) 'length>0' > $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar# Get log file of all tests run
48c0c81cd6fabac9d3386406d97633780365b839coarJDK_TO_TEST := $(shell \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar if [ -d "$(ABS_OUTPUTDIR)/j2sdk-image" ] ; then \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(ECHO) "$(ABS_OUTPUTDIR)/j2sdk-image"; \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar elif [ -d "$(ABS_OUTPUTDIR)/bin" ] ; then \
48c0c81cd6fabac9d3386406d97633780365b839coar $(ECHO) "$(ABS_OUTPUTDIR)"; \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar elif [ "$(PRODUCT_HOME)" != "" -a -d "$(PRODUCT_HOME)/bin" ] ; then \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(ECHO) "$(PRODUCT_HOME)"; \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar fi \
48c0c81cd6fabac9d3386406d97633780365b839coar)
64ad864fa0f4493eebb181e393b40a8a90beccb9coarTEST_TARGETS=all
64ad864fa0f4493eebb181e393b40a8a90beccb9coar$(OUTPUTDIR)/test_log.txt:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(RM) $@
48c0c81cd6fabac9d3386406d97633780365b839coar ( $(CD) test && \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar $(MAKE) NO_STOPPING=- PRODUCT_HOME=$(JDK_TO_TEST) $(TEST_TARGETS) \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar ) | tee $@
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
48c0c81cd6fabac9d3386406d97633780365b839coar################################################################
64ad864fa0f4493eebb181e393b40a8a90beccb9coar# JPRT rule to build
64ad864fa0f4493eebb181e393b40a8a90beccb9coar################################################################
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
48c0c81cd6fabac9d3386406d97633780365b839coarinclude ./make/jprt.gmk
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar################################################################
64ad864fa0f4493eebb181e393b40a8a90beccb9coar# PHONY
48c0c81cd6fabac9d3386406d97633780365b839coar################################################################
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar.PHONY: all test test_run test_start test_summary test_clean \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar generic_build_repo_series \
48c0c81cd6fabac9d3386406d97633780365b839coar what clobber insane \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar dev dev-build dev-sanity dev-clobber \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar product_build \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar fastdebug_build \
48c0c81cd6fabac9d3386406d97633780365b839coar debug_build \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar build_product_image \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar build_debug_image \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar build_fastdebug_image \
48c0c81cd6fabac9d3386406d97633780365b839coar create_fresh_product_bootdir \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar create_fresh_debug_bootdir \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar create_fresh_fastdebug_bootdir \
64ad864fa0f4493eebb181e393b40a8a90beccb9coar generic_debug_build
48c0c81cd6fabac9d3386406d97633780365b839coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar# Force target
64ad864fa0f4493eebb181e393b40a8a90beccb9coarFRC:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
48c0c81cd6fabac9d3386406d97633780365b839coar