Makefile revision 332
436aad11e01e916f75e68a2e9cb89ac217a990d3Tinderbox User#
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
18920d790825d96ca3943aa2dcb6eb80dc611c5fTinderbox User# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
18920d790825d96ca3943aa2dcb6eb80dc611c5fTinderbox User#
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User# This code is free software; you can redistribute it and/or modify it
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User# under the terms of the GNU General Public License version 2 only, as
c57668a2fbbe558c1bd21652813616f2f517c469Tinderbox User# published by the Free Software Foundation. Oracle designates this
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews# particular file as subject to the "Classpath" exception as provided
1f4c645185bd8fc70048e0a69eee46193a284e5cTinderbox User# by Oracle in the LICENSE file that accompanied this code.
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews#
8de3f14f1c300c3e1ed99084cc03485b42c92bf1Tinderbox User# This code is distributed in the hope that it will be useful, but WITHOUT
950d203b64f512b85fcc093ee1e9e3e531a1aea3Tinderbox User# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# version 2 for more details (a copy is included in the LICENSE file that
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# accompanied this code).
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# You should have received a copy of the GNU General Public License version
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews# 2 along with this work; if not, write to the Free Software Foundation,
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# or visit www.oracle.com if you need additional information or have any
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# questions.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsBUILD_PARENT_DIRECTORY=.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsifndef TOPDIR
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User TOPDIR:=.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsendif
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrewsifndef JDK_TOPDIR
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews JDK_TOPDIR=$(TOPDIR)/jdk
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userendif
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsifndef JDK_MAKE_SHARED_DIR
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User JDK_MAKE_SHARED_DIR=$(JDK_TOPDIR)/make/common/shared
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsendif
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsdefault: all
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsinclude $(JDK_MAKE_SHARED_DIR)/Defs-control.gmk
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox Userinclude ./make/Defs-internal.gmk
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsinclude ./make/sanity-rules.gmk
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Huntinclude ./make/hotspot-rules.gmk
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox Userinclude ./make/langtools-rules.gmk
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox Userinclude ./make/corba-rules.gmk
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Huntinclude ./make/jaxp-rules.gmk
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterinclude ./make/jaxws-rules.gmk
16f6050f29b6b0422cee858e609f65e474e70ef2Tinderbox Userinclude ./make/jdk-rules.gmk
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterinclude ./make/install-rules.gmk
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Huntinclude ./make/sponsors-rules.gmk
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox Userinclude ./make/deploy-rules.gmk
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Huntall:: sanity
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterifeq ($(SKIP_FASTDEBUG_BUILD), false)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater all:: fastdebug_build
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterendif
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updaterifeq ($(SKIP_DEBUG_BUILD), false)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews all:: debug_build
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsendif
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsall:: all_product_build
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsall_product_build::
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
16f6050f29b6b0422cee858e609f65e474e70ef2Tinderbox User# Everything for a full product build
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsifeq ($(SKIP_PRODUCT_BUILD), false)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews all_product_build:: product_build
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews ifeq ($(BUILD_INSTALL), true)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews all_product_build:: $(INSTALL)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews clobber:: install-clobber
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews endif
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt ifeq ($(BUILD_SPONSORS), true)
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt all_product_build:: $(SPONSORS)
95637507c3d47481fbf0a8a8c750a57f944f677fMark Andrews clobber:: sponsors-clobber
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt endif
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt ifneq ($(SKIP_COMPARE_IMAGES), true)
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt all_product_build:: compare-image
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt endif
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan Huntendif
7cc0a5d21ef046bfd630c4769943d896a7d7472cTinderbox User
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsdefine StartTimer
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(MKDIR) -p $(BUILDTIMESDIR)
950d203b64f512b85fcc093ee1e9e3e531a1aea3Tinderbox User $(RM) $(BUILDTIMESDIR)/build_time_*
27739dd25026283c24645c8a1044b95ef9eb5ac6Tinderbox User $(call RecordStartTime,TOTAL)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsendef
18920d790825d96ca3943aa2dcb6eb80dc611c5fTinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdefine StopTimer
7a6494cfb6cc7d3f67af07359561e05e6bb8c0edTinderbox User $(if $(REPORT_BUILD_TIMES),$(call RecordEndTime,TOTAL) && $(call ReportBuildTimes,$1),)
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox Userendef
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
18920d790825d96ca3943aa2dcb6eb80dc611c5fTinderbox User# Generic build of basic repo series
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsgeneric_build_repo_series:: $(SOURCE_TIPS)
7a6494cfb6cc7d3f67af07359561e05e6bb8c0edTinderbox User $(MKDIR) -p $(OUTPUTDIR)
77932ac533c711eca5cd86de4e7eca8d91102b43Tinderbox User $(MKDIR) -p $(OUTPUTDIR)/j2sdk-image
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews @$(call StartTimer)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonifeq ($(BUILD_LANGTOOLS), true)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User generic_build_repo_series:: langtools
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews clobber:: langtools-clobber
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userendif
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userifeq ($(BUILD_CORBA), true)
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews generic_build_repo_series:: corba
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews clobber:: corba-clobber
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userendif
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userifeq ($(BUILD_JAXP), true)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson generic_build_repo_series:: jaxp
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User clobber:: jaxp-clobber
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsendif
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsifeq ($(BUILD_JAXWS), true)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User generic_build_repo_series:: jaxws
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson clobber:: jaxws-clobber
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userendif
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userifeq ($(BUILD_HOTSPOT), true)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews generic_build_repo_series:: $(HOTSPOT)
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews clobber:: hotspot-clobber
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsendif
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsifeq ($(BUILD_JDK), true)
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User generic_build_repo_series:: $(JDK_JAVA_EXE)
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews clobber:: jdk-clobber
fd972434c29fc1169d66594e4cc7697d33036c2bTinderbox Userendif
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox User
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox Userifeq ($(BUILD_DEPLOY), true)
fd972434c29fc1169d66594e4cc7697d33036c2bTinderbox User generic_build_repo_series:: $(DEPLOY)
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont clobber:: deploy-clobber
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsendif
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontgeneric_build_repo_series::
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews @$(call StopTimer,$(if $(DEBUG_NAME),$(DEBUG_NAME)_build,all_product_build))
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# The debug build, fastdebug or debug. Needs special handling.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Note that debug builds do NOT do INSTALL steps, but must be done
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# after the product build and before the INSTALL step of the product build.
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews#
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# DEBUG_NAME is fastdebug or debug
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# ALT_OUTPUTDIR is changed to have -debug or -fastdebug suffix
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# The resulting j2sdk-image is used by the install makefiles to create a
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# debug install bundle jdk-*-debug-** bundle (tar or zip)
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# which will install in the debug or fastdebug subdirectory of the
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# normal product install area.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# The install process needs to know what the DEBUG_NAME is, so
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User# look for INSTALL_DEBUG_NAME in the install rules.
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# NOTE: On windows, do not use $(ABS_BOOTDIR_OUTPUTDIR)-$(DEBUG_NAME).
e20788e1216ed720aefa84f3295f7899d9f28c22Mark Andrews# Due to the use of short paths in $(ABS_OUTPUTDIR), this may
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# not be the same location.
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews#
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User# Location of fresh bootdir output
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox UserABS_BOOTDIR_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox UserFRESH_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/j2sdk-image
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic UpdaterFRESH_DEBUG_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-$(DEBUG_NAME)/j2sdk-image
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Usercreate_fresh_product_bootdir: FRC
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User GENERATE_DOCS=false \
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater BOOT_CYCLE_SETTINGS= \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User build_product_image
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Usercreate_fresh_debug_bootdir: FRC
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User GENERATE_DOCS=false \
fa0326cc2cf428f67575b6ba3b97b528a31b0010Tinderbox User BOOT_CYCLE_DEBUG_SETTINGS= \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User build_debug_image
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Usercreate_fresh_fastdebug_bootdir: FRC
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews $(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User GENERATE_DOCS=false \
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater BOOT_CYCLE_DEBUG_SETTINGS= \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User build_fastdebug_image
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# Create boot image?
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsifeq ($(SKIP_BOOT_CYCLE),false)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User ifneq ($(PLATFORM)$(ARCH_DATA_MODEL),solaris64)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson DO_BOOT_CYCLE=true
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User endif
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsendif
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updaterifeq ($(DO_BOOT_CYCLE),true)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # Create the bootdir to use in the build
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User product_build:: create_fresh_product_bootdir
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews debug_build:: create_fresh_debug_bootdir
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User fastdebug_build:: create_fresh_fastdebug_bootdir
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # Define variables to be used now for the boot jdk
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews BOOT_CYCLE_SETTINGS= \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User ALT_BOOTDIR=$(FRESH_BOOTDIR) \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews ALT_JDK_IMPORT_PATH=$(FRESH_BOOTDIR)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User BOOT_CYCLE_DEBUG_SETTINGS= \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson ALT_BOOTDIR=$(FRESH_DEBUG_BOOTDIR) \
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User ALT_JDK_IMPORT_PATH=$(FRESH_DEBUG_BOOTDIR)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userelse
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # Use the supplied ALT_BOOTDIR as the boot
5f7586ddbd3edd11272cdd30ed613d936129328bTinderbox User BOOT_CYCLE_SETTINGS=
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User BOOT_CYCLE_DEBUG_SETTINGS=
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userendif
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox Userbuild_product_image:
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews $(MAKE) \
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews SKIP_FASTDEBUG_BUILD=true \
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews SKIP_DEBUG_BUILD=true \
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User $(BOOT_CYCLE_SETTINGS) \
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox User generic_build_repo_series
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox User# NOTE: On windows, do not use $(ABS_OUTPUTDIR)-$(DEBUG_NAME).
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User# Due to the use of short paths in $(ABS_OUTPUTDIR), this may
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews# not be the same location.
7ca715ad1587a68a531ea1cdea07515d7232567eTinderbox User
269519eeb959d905ed125f96426e01d725c3b597Tinderbox Usergeneric_debug_build:
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater $(MAKE) \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-$(DEBUG_NAME) \
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews DEBUG_NAME=$(DEBUG_NAME) \
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews GENERATE_DOCS=false \
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox User $(BOOT_CYCLE_DEBUG_SETTINGS) \
8e5fce1f9ceba17dd7e3ff0eb287e1e999c14249Mark Andrews generic_build_repo_series
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrewsbuild_debug_image:
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews $(MAKE) DEBUG_NAME=debug generic_debug_build
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterbuild_fastdebug_image:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(MAKE) DEBUG_NAME=fastdebug generic_debug_build
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater
b02be031b9ff37b042adc8e68e36b8bbc1f672b7Tinderbox User# Build final image
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterproduct_build:: build_product_image
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsdebug_build:: build_debug_image
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updaterfastdebug_build:: build_fastdebug_image
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
d7d105151a78d35afb4233d2a6dbd47b7ec0d9a5Tinderbox User# The source tips are stored with the relative path to the repo.
b02be031b9ff37b042adc8e68e36b8bbc1f672b7Tinderbox User# This file will be used when constructing the jdk image.
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox Usersource_tips: $(SOURCE_TIPS)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(CAT) $<
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater$(SOURCE_TIPS): FRC
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater @$(prep-target)
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater @$(call GetSourceTips)
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterclobber:: REPORT_BUILD_TIMES=
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterclobber::
5ecad47f69b3fd945472ab2900a9ff826a7ce2f6Automatic Updater $(RM) -r $(OUTPUTDIR)/*
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox User $(RM) -r $(OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-debug/*
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews $(RM) -r $(OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-fastdebug/*
c2abd6efeb9affa70aabb63da2acb23e135cf7f2Mark Andrews -($(RMDIR) -p $(OUTPUTDIR) > $(DEV_NULL) 2>&1; $(TRUE))
6a9d2121152c94cb9e35832126c3f2e4d18d81edTinderbox User
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox Userclean: clobber
96ea71632887c58a9d00f47eb318bf76b35903c3Mark Andrews
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater#
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# Dev builds
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User#
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User
4cda4fd158d6ded5586bacea8c388445d99611eaAutomatic Updaterdev : dev-build
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
b02be031b9ff37b042adc8e68e36b8bbc1f672b7Tinderbox Userdev-build:
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User $(MAKE) DEV_ONLY=true all
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsdev-sanity:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(MAKE) DEV_ONLY=true sanity
4fe0411487e8e4401477684c0a2bac041ca7c2d5Tinderbox Userdev-clobber:
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(MAKE) DEV_ONLY=true clobber
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
bf5e2127e92e52cbf661e77dd6a76e5aef43542fTinderbox User#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Quick jdk verification build
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsjdk_only:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater $(MAKE) SKIP_FASTDEBUG_BUILD=true BUILD_HOTSPOT=false all
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater#
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews# Quick jdk verification fastdebug build
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews#
da59e63e7af147a8bcef985b98b04443e04c3a0eTinderbox Userjdk_fastdebug_only:
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User $(MAKE) DEBUG_NAME=fastdebug BUILD_HOTSPOT=false BUILD_DEPLOY=false \
757ff043760e4743dda1a10e7d58349275934902Tinderbox User BUILD_INSTALL=false BUILD_SPONSORS=false generic_debug_build
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater
6025cbbe8408f4b09d53d5ec1e95cb6da97e0a8dTinderbox User#
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# Quick deploy verification fastdebug build
757ff043760e4743dda1a10e7d58349275934902Tinderbox User#
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterdeploy_fastdebug_only:
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater $(MAKE) \
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews DEBUG_NAME=fastdebug \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson BUILD_HOTSPOT=false \
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews BUILD_JDK=false \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews BUILD_LANGTOOLS=false \
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews BUILD_CORBA=false \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews BUILD_JAXP=false \
757ff043760e4743dda1a10e7d58349275934902Tinderbox User BUILD_JAXWS=false \
757ff043760e4743dda1a10e7d58349275934902Tinderbox User BUILD_INSTALL=false \
4fe0411487e8e4401477684c0a2bac041ca7c2d5Tinderbox User BUILD_SPONSORS=false \
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User generic_debug_build
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews#
3857cb6fcabeb79d85de4b3e3e4ab99912b701f8Mark Andrews# Product build (skip debug builds)
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User#
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox Userproduct_only:
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $(MAKE) SKIP_FASTDEBUG_BUILD=true all
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson#
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# Check target
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewscheck: variable_check
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
8292deab031e7599cd7622aa7675fbe139ca6095Mark Andrews#
e31cfd80616deb9781902306b34a69aa7309b6cbTinderbox User# Help target
7ac34650fa344f42211d6da744ae486b0145a083Tinderbox User#
4f45d802dc97f12f87e23be2f2e0ba6216e6cea2Tinderbox Userhelp: intro_help target_help variable_help notes_help examples_help
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# Intro help message
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsintro_help:
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews @$(ECHO) "\
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark AndrewsMakefile for the JDK builds (all the JDK). \n\
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews"
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# Target help
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewstarget_help:
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews @$(ECHO) "\
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User--- Common Targets --- \n\
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrewsall -- build the core JDK (default target) \n\
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewshelp -- Print out help information \n\
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewscheck -- Check make variable values for correctness \n\
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewssanity -- Perform detailed sanity checks on system and settings \n\
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsfastdebug_build -- build the core JDK in 'fastdebug' mode (-g -O) \n\
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsdebug_build -- build the core JDK in 'debug' mode (-g) \n\
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updaterclean -- remove all built and imported files \n\
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsclobber -- same as clean \n\
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews"
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Variable help (only common ones used by this Makefile)
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsvariable_help: variable_help_intro variable_list variable_help_end
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updatervariable_help_intro:
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews @$(ECHO) "--- Common Variables ---"
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsvariable_help_end:
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews @$(ECHO) " "
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# One line descriptions for the variables
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic UpdaterOUTPUTDIR.desc = Output directory
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsPARALLEL_COMPILE_JOBS.desc = Solaris/Linux parallel compile run count
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsSLASH_JAVA.desc = Root of all build tools, e.g. /java or J:
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsBOOTDIR.desc = JDK used to boot the build
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsJDK_IMPORT_PATH.desc = JDK used to import components of the build
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsCOMPILER_PATH.desc = Compiler install directory
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsCACERTS_FILE.desc = Location of certificates file
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsDEVTOOLS_PATH.desc = Directory containing zip and gnumake
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsCUPS_HEADERS_PATH.desc = Include directory location for CUPS header files
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsDXSDK_PATH.desc = Root directory of DirectX SDK
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
b30ec46fec40a1b246f7965fbcd341fc6cfd1cc1Mark Andrews# Make variables to print out (description and value)
82a986aaa5d3384a541b5a7d6dae8cf0726d6513Tinderbox UserVARIABLE_PRINTVAL_LIST += \
c5a97a549c89d562e999d4f906b882c5a2a474e1Tinderbox User OUTPUTDIR \
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User PARALLEL_COMPILE_JOBS \
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews SLASH_JAVA \
95c3a5e116c1da135f669c3f15398172fac6279dMark Andrews BOOTDIR \
d7d105151a78d35afb4233d2a6dbd47b7ec0d9a5Tinderbox User JDK_IMPORT_PATH \
d585233c52e283d9a8849f16f04f452419a2484eTinderbox User COMPILER_PATH \
d7d105151a78d35afb4233d2a6dbd47b7ec0d9a5Tinderbox User CACERTS_FILE \
d585233c52e283d9a8849f16f04f452419a2484eTinderbox User DEVTOOLS_PATH
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# Make variables that should refer to directories that exist
59528addd704f8d5757b54e540520f74e588a7c7Automatic UpdaterVARIABLE_CHECKDIR_LIST += \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews SLASH_JAVA \
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User BOOTDIR \
757ff043760e4743dda1a10e7d58349275934902Tinderbox User JDK_IMPORT_PATH \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews COMPILER_PATH \
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User DEVTOOLS_PATH
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox User# Make variables that should refer to files that exist
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsVARIABLE_CHECKFIL_LIST += \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater CACERTS_FILE
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Some are windows specific
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonifeq ($(PLATFORM), windows)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsVARIABLE_PRINTVAL_LIST += \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews DXSDK_PATH
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsVARIABLE_CHECKDIR_LIST += \
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews DXSDK_PATH
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsendif
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
3a988722ad9e209ba4064604d482dc4efe0e19ebTinderbox User# For pattern rules below, so all are treated the same
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonDO_PRINTVAL_LIST=$(VARIABLE_PRINTVAL_LIST:%=%.printval)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonDO_CHECKDIR_LIST=$(VARIABLE_CHECKDIR_LIST:%=%.checkdir)
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsDO_CHECKFIL_LIST=$(VARIABLE_CHECKFIL_LIST:%=%.checkfil)
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# Complete variable check
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsvariable_check: $(DO_CHECKDIR_LIST) $(DO_CHECKFIL_LIST)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsvariable_list: $(DO_PRINTVAL_LIST) variable_check
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Pattern rule for printing out a variable
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews%.printval:
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews @$(ECHO) " ALT_$* - $($*.desc)"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews @$(ECHO) " \t $*=$($*)"
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# Pattern rule for checking to see if a variable with a directory exists
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews%.checkdir:
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews @if [ ! -d $($*) ] ; then \
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews fi
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews# Pattern rule for checking to see if a variable with a file exists
f7369b2881b5e63d69600adcedc8ba938303d30cTinderbox User%.checkfil:
f7369b2881b5e63d69600adcedc8ba938303d30cTinderbox User @if [ ! -f $($*) ] ; then \
d6317350b1180aa4517f2e8a92fa8fbcbf904ad8Automatic Updater $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \
bc0a4c01beede169df81a3ee5b614ed9e82339dbAutomatic Updater fi
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
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\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) fastdebug_build \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(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\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) ALT_BOOTDIR=/opt/java/jdk1.5.0 \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk1.6.0 \n\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Source bundling
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington################################################################
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonifeq ($(BUNDLE_RULES_AVAILABLE), true)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington include $(BUNDLE_RULES)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonendif
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
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
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest_run: test_clean test_start test_summary
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest_start:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "Tests started at `$(DATE)`"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest_clean:
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington $(RM) $(OUTPUTDIR)/test_failures.txt $(OUTPUTDIR)/test_log.txt
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtontest_summary: $(OUTPUTDIR)/test_failures.txt
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington @$(ECHO) "#################################################"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews @$(ECHO) "Tests completed at `$(DATE)`"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews @( $(EGREP) '^TEST STATS:' $(OUTPUTDIR)/test_log.txt \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews || $(ECHO) "No TEST STATS seen in log" )
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews @$(ECHO) "For complete details see: $(OUTPUTDIR)/test_log.txt"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews @$(ECHO) "#################################################"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews @if [ -s $< ] ; then \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews $(ECHO) "ERROR: Test failure count: `$(CAT) $< | $(WC) -l`"; \
22d32791e5daa0bc80335a0f10ab2de95f41ccdbTinderbox User $(CAT) $<; \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater exit 1; \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater else \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater $(ECHO) "Success! No failures detected"; \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater fi
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater# Get failure list from log
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User$(OUTPUTDIR)/test_failures.txt: $(OUTPUTDIR)/test_log.txt
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater @$(RM) $@
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater @( $(EGREP) '^FAILED:' $< || $(ECHO) "" ) | $(NAWK) 'length>0' > $@
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater# Get log file of all tests run
ae7e54b14c946e0984c191554db9abb4893f9349Automatic UpdaterJDK_TO_TEST := $(shell \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater if [ -d "$(ABS_OUTPUTDIR)/j2sdk-image" ] ; then \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater $(ECHO) "$(ABS_OUTPUTDIR)/j2sdk-image"; \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater elif [ -d "$(ABS_OUTPUTDIR)/bin" ] ; then \
b30ec46fec40a1b246f7965fbcd341fc6cfd1cc1Mark Andrews $(ECHO) "$(ABS_OUTPUTDIR)"; \
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User elif [ "$(PRODUCT_HOME)" != "" -a -d "$(PRODUCT_HOME)/bin" ] ; then \
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User $(ECHO) "$(PRODUCT_HOME)"; \
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User fi \
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User)
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox UserTEST_TARGETS=all
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User$(OUTPUTDIR)/test_log.txt:
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User $(RM) $@
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User ( $(CD) test && \
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User $(MAKE) NO_STOPPING=- PRODUCT_HOME=$(JDK_TO_TEST) $(TEST_TARGETS) \
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User ) | tee $@
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User################################################################
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# JPRT rule to build
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews################################################################
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox Userinclude ./make/jprt.gmk
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User################################################################
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# PHONY
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews################################################################
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews.PHONY: all test test_run test_start test_summary test_clean \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews generic_build_repo_series \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews what clobber insane \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews dev dev-build dev-sanity dev-clobber \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews product_build \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fastdebug_build \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater debug_build \
febbdb34a7f7759922e239655e7429d78d3a8d26Tinderbox User build_product_image \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater build_debug_image \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater build_fastdebug_image \
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User create_fresh_product_bootdir \
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews create_fresh_debug_bootdir \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews create_fresh_fastdebug_bootdir \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews generic_debug_build
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Force target
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsFRC:
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews