8058413: Change formatDecimalInt so it is package private
Reviewed-by: darcy
## Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.## This code is free software; you can redistribute it and/or modify it# under the terms of the GNU General Public License version 2 only, as# published by the Free Software Foundation. Oracle designates this# particular file as subject to the "Classpath" exception as provided# by Oracle in the LICENSE file that accompanied this code.## This code is distributed in the hope that it will be useful, but WITHOUT# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License# version 2 for more details (a copy is included in the LICENSE file that# accompanied this code).## You should have received a copy of the GNU General Public License version# 2 along with this work; if not, write to the Free Software Foundation,# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.## Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA# or visit www.oracle.com if you need additional information or have any# questions.################################################################################## This is the main makefile containing most actual top level targets. It needs# to be called with a SPEC file defined.# Declare default targetdefault:# Now load the specinclude $(SPEC)include $(SRC_ROOT)/make/MakeHelpers.gmk# Load the vital tools for all the makefiles.include $(SRC_ROOT)/make/common/MakeBase.gmkinclude $(SRC_ROOT)/make/common/Modules.gmk# Load common profile names definitionsinclude $(JDK_TOPDIR)/make/ProfileNames.gmk# Declare ALL_TARGETS as an immediate variable. This variable is a list of all# valid top level targets. It's used to declare them all as PHONY and to # generate the -only targets.ALL_TARGETS :=# Hook to include the corresponding custom file, if present.$(eval $(call IncludeCustomExtension, , Main.gmk))# All modules for the current target platform.# Manually add jdk.hotspot.agent for now.ALL_MODULES := $(call FindAllModules) jdk.hotspot.agent################################################################################################################################################################## Recipes for all targets. Only recipes, dependencies are declared later.################################################################################################################################################################## Interim/build tools targets, compiling tools used during the buildinterim-langtools: +($(CD) $(LANGTOOLS_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterim.gmk)interim-corba: +($(CD) $(CORBA_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileCorba.gmk)interim-rmic: +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimRmic.gmk)build-tools-jdk: +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Tools.gmk java-tools)ALL_TARGETS += interim-langtools interim-corba build-tools-jdk################################################################################# Special targets for certain modulesimport-hotspot: +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Import.gmk)unpack-sec: +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f UnpackSecurity.gmk)policy-jars: +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CreatePolicyJars.gmk)ALL_TARGETS += import-hotspot unpack-sec policy-jars################################################################################# Gensrc targets, generating source before java compilation can be doneJDK_GENSRC_MODULES := $(call FindModulesWithMakefileFor, gensrc, Gensrc)LANGTOOLS_GENSRC_MODULES := jdk.compiler.toolsCORBA_GENSRC_MODULES := java.corbaGENSRC_MODULES := $(JDK_GENSRC_MODULES) $(LANGTOOLS_GENSRC_MODULES) \ $(CORBA_GENSRC_MODULES)JDK_GENSRC_TARGETS := $(addsuffix -gensrc, $(JDK_GENSRC_MODULES))LANGTOOLS_GENSRC_TARGETS := $(addsuffix -gensrc, $(LANGTOOLS_GENSRC_MODULES))CORBA_GENSRC_TARGETS := $(addsuffix -gensrc, $(CORBA_GENSRC_MODULES))GENSRC_TARGETS := $(addsuffix -gensrc, $(GENSRC_MODULES))jdk.compiler.tools-gensrc: +($(CD) $(LANGTOOLS_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f GensrcLangtools.gmk)java.corba-gensrc: +($(CD) $(CORBA_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f GensrcCorba.gmk)# Declare recipes for all jdk <module>-gensrc targets$(foreach m, $(JDK_GENSRC_MODULES), $(eval $(call DeclareRecipeForModuleMakefile, \ $m, gensrc, gensrc, Gensrc)))ALL_TARGETS += $(GENSRC_TARGETS)################################################################################# Generate data targetsGENDATA_MODULES := $(call FindModulesWithMakefileFor, gendata, Gendata)GENDATA_TARGETS := $(addsuffix -gendata, $(GENDATA_MODULES))# Declare recipes for all <module>-gendata targets$(foreach m, $(GENDATA_MODULES), $(eval $(call DeclareRecipeForModuleMakefile, \ $m, gendata, gendata, Gendata)))$(foreach m, $(GENDATA_MODULES), $(eval $(call DeclareGendataRecipe,$m)))ALL_TARGETS += $(GENDATA_TARGETS)################################################################################# Copy files targetsCOPY_MODULES := $(call FindModulesWithMakefileFor, copy, Copy)COPY_TARGETS := $(addsuffix -copy, $(COPY_MODULES))# Declare recipes for all <module>-copy targets$(foreach m, $(COPY_MODULES), $(eval $(call DeclareRecipeForModuleMakefile, \ $m, copy, copy, Copy)))ALL_TARGETS += $(COPY_TARGETS)################################################################################# Targets for compiling all java modules. Nashorn is treated separately.JAVA_MODULES := $(call FindJavaModules)JAVA_TARGETS := $(addsuffix -java, $(JAVA_MODULES))define DeclareCompileJavaRecipe $1-java: +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f CompileJavaModules.gmk \ $1 JAVA_MODULES=$1)endef$(foreach m, $(filter-out jdk.scripting.nashorn, $(JAVA_MODULES)), \ $(eval $(call DeclareCompileJavaRecipe,$m)))# Build nashorn. Needs to be compiled separately from the rest of the modules# due to nasgen.jdk.scripting.nashorn-java: +($(CD) $(NASHORN_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f BuildNashorn.gmk compile)ALL_TARGETS += $(JAVA_TARGETS)################################################################################# Targets for running rmic.RMIC_MODULES := $(call FindModulesWithMakefileFor, rmic, Rmic)RMIC_TARGETS := $(addsuffix -rmic, $(RMIC_MODULES))# Declare recipes for all <module>-rmic targets$(foreach m, $(RMIC_MODULES), $(eval $(call DeclareRecipeForModuleMakefile, \ $m, rmic, rmic, Rmic)))ALL_TARGETS += $(RMIC_TARGETS)################################################################################# Targets for compiling native librariesALL_LIB_MODULES := $(call FindModulesWithMakefileFor, lib, Lib)LIB_MODULES := $(filter $(ALL_MODULES), $(ALL_LIB_MODULES))LIB_TARGETS := $(addsuffix -libs, $(LIB_MODULES))# Declare recipes for all <module>-libs targets$(foreach m, $(LIB_MODULES), $(eval $(call DeclareRecipeForModuleMakefile, \ $m, libs, lib, Lib)))ALL_TARGETS += $(LIB_TARGETS)################################################################################# Targets for compiling native executablesALL_LAUNCHER_MODULES := $(call FindModulesWithMakefileFor, launcher, Launcher)LAUNCHER_MODULES := $(filter $(ALL_MODULES), $(ALL_LAUNCHER_MODULES))LAUNCHER_TARGETS := $(addsuffix -launchers, $(LAUNCHER_MODULES))# Declare recipes for all <module>-launchers targets$(foreach m, $(LAUNCHER_MODULES), $(eval $(call DeclareRecipeForModuleMakefile, \ $m, launchers, launcher, Launcher)))ALL_TARGETS += $(LAUNCHER_TARGETS)################################################################################# Build hotspot targetifeq ($(BUILD_HOTSPOT),true) hotspot: ($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f HotspotWrapper.gmk)endifALL_TARGETS += hotspot################################################################################# Build demos and samples targetsdemos: +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileDemos.gmk)samples: +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopySamples.gmk)ALL_TARGETS += demos samples################################################################################# Image targets# Stores the tips for each repository. This file is be used when constructing the jdk image and can be# used to track the exact sources used to build that image.source-tips: $(OUTPUT_ROOT)/source_tips$(OUTPUT_ROOT)/source_tips: FRC @$(MKDIR) -p $(@D) @$(RM) $@ @$(call GetSourceTips)security-jars: +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CreateSecurityJars.gmk)nashorn-jar: +($(CD) $(NASHORN_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f BuildNashorn.gmk all)# Creates the jar files (rt.jar resources.jar etc)main-jars: +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) PROFILE="" -f CreateJars.gmk)# Creates the images (j2sdk-image j2re-image etc)images: +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) PROFILE="" -f Images.gmk) ifeq ($(OPENJDK_TARGET_OS), macosx) +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk) endif# Create Compact Profile jarsPROFILE_JARS_TARGETS := $(addsuffix -jars, $(ALL_PROFILES))$(PROFILE_JARS_TARGETS): +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) PROFILE=$(@:%-jars=%) -f CreateJars.gmk)# Create Compact Profile imagesPROFILE_IMAGES_TARGETS := $(addsuffix -images, $(ALL_PROFILES))$(PROFILE_IMAGES_TARGETS): +($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) PROFILE=$(@:%-images=%) \ JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/j2re-$(word $(call profile_number,$(@:%-images=%)),$(PROFILE_NAMES))-image \ -f Images.gmk profile-image)profiles-oscheck: ifneq ($(OPENJDK_TARGET_OS), linux) @echo "Error: The Java SE 8 Compact Profiles are only implemented for Linux at this time" && exit 1 endifbootcycle-images: @$(ECHO) Boot cycle build step 2: Building a new JDK image using previously built image +$(MAKE) $(MAKE_ARGS) -f Main.gmk SPEC=$(dir $(SPEC))bootcycle-spec.gmk imagesALL_TARGETS += source-tips security-jars nashorn-jar main-jars images \ $(PROFILE_JARS_TARGETS) $(PROFILE_IMAGES_TARGETS) profiles-oscheck \ bootcycle-images################################################################################# Docs targetsdocs-javadoc: +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk docs)docs-jvmtidoc: +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk jvmtidocs)ALL_TARGETS += docs-javadoc docs-jvmtidoc################################################################################# Test targettest: ($(CD) $(SRC_ROOT)/test && $(MAKE) $(MAKE_ARGS) -j1 -k MAKEFLAGS= \ JT_HOME=$(JT_HOME) PRODUCT_HOME=$(JDK_OUTPUT_DIR) \ ALT_OUTPUTDIR=$(OUTPUT_ROOT) CONCURRENCY=$(JOBS) $(TEST)) || truetest-make: ($(CD) $(SRC_ROOT)/test/make && $(MAKE) $(MAKE_ARGS) -f TestMake.gmk $(TEST_TARGET))ALL_TARGETS += test test-make################################################################################# Verification targetsverify-modules: +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f CheckModules.gmk)ALL_TARGETS += verify-modules################################################################################# Install targetsinstall: +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f Install.gmk)ALL_TARGETS += install################################################################################## Dependency declarations between targets. ## These are declared in two groups. First all dependencies between targets that # have recipes above as these dependencies may be disabled. Then the aggregator# targets that do not have recipes of their own, which will never have their# dependencies disabled.################################################################################## Targets with recipes above# If running an *-only target, parallel execution and dependencies between # recipe targets are disabled. This makes it possible to run a select set of # recipe targets in order. It's the responsibility of the user to make sure# all prerequisites are fulfilled. ifneq ($(findstring -only, $(MAKECMDGOALS)), ) .NOTPARALLEL:else interim-langtools: $(LANGTOOLS_GENSRC_TARGETS) build-tools-jdk: interim-langtools $(CORBA_GENSRC_TARGETS): interim-langtools $(JDK_GENSRC_TARGETS): interim-langtools build-tools-jdk interim-corba: $(CORBA_GENSRC_TARGETS) $(GENDATA_TARGETS): interim-langtools build-tools-jdk interim-rmic: interim-langtools $(RMIC_TARGETS): interim-langtools interim-corba interim-rmic import-hotspot: hotspot $(LIB_TARGETS): import-hotspot $(LAUNCHER_TARGETS): java.base-libs # The demos are currently linking to libjvm and libjava, just like all other # jdk libs, even though they don't need to. To avoid warnings, make sure they # aren't built until after libjava and libjvm are available to link to. demos: $(JAVA_TARGETS) # Declare dependency from <module>-java to <module>-gensrc $(foreach m, $(GENSRC_MODULES), $(eval $m-java: $m-gensrc)) # Declare dependencies between java modules $(foreach m, $(JAVA_MODULES), \ $(eval $m-java: $(addsuffix -java, $(filter $(JAVA_MODULES), \ $(call FindDepsForModule,$m))))) # Declare dependencies between <module>-rmic to <module>-java $(foreach m, $(RMIC_MODULES), $(eval $m-rmic: $m-java)) # Declare dependencies from <module>-lib to <module>-java # Skip jdk.jdwp.agent as it contains no java code. $(foreach m, $(filter-out jdk.jdwp.agent, $(LIB_MODULES)), $(eval $m-libs: $m-java)) # Declare dependencies from all other <module>-lib to java.base-lib $(foreach t, $(filter-out java.base-libs, $(LIB_TARGETS)), \ $(eval $t: java.base-libs)) # Declare the special case dependency for jdk.deploy.osx where libosx # links against libosxapp. jdk.deploy.osx-libs: java.desktop-libs # This dependency needs to be explicitly declared. jdk.jdi-gensrc generates a # header file used by jdk.jdwp libs. jdk.jdwp.agent-libs: jdk.jdi-gensrc # Explicitly add dependencies for special targets java.base-java: unpack-sec jdk.dev-gendata: java rmic security-jars: java nashorn-jar: jdk.scripting.nashorn-java main-jars: java rmic security-jars nashorn-jar policy-jars import-hotspot gendata # On windows, the jars target needs to wait for jgss libs to be built. # Should ideally split out the sec-bin zip file generation to avoid # this dependency. ifeq ($(OPENJDK_TARGET_OS), windows) main-jars: java.security.jgss-libs endif images: jars demos samples exploded-image source-tips bootcycle-images: images # Need to depend on jars as otherwise there will a race between all the # invocations of CreateJars.gmk. $(PROFILE_JARS_TARGETS): jars profiles-oscheck $(PROFILE_IMAGES_TARGETS): demos samples exploded-image source-tips # Declare dependencies from <profile>-images to <profile>-jars $(foreach p, $(ALL_PROFILES), $(eval $p-images: $p-jars)) docs-javadoc: $(GENSRC_TARGETS) rmic docs-jvmtidoc: hotspot test: exploded-image verify-modules: exploded-imageendif################################################################################# Virtual targets without recipesgensrc: $(GENSRC_TARGETS)gendata: $(GENDATA_TARGETS)copy: $(COPY_TARGETS)java: $(JAVA_TARGETS)rmic: $(RMIC_TARGETS)libs: $(LIB_TARGETS)launchers: $(LAUNCHER_TARGETS)# Explicitly add dependencies for these special targetsjava.base: import-hotspot policy-jars# Declare dependencies from <module> to all the individual targets specific# to that module <module>-*.$(foreach m, $(GENSRC_MODULES), $(eval $m: $m-gensrc))$(foreach m, $(JAVA_MODULES), $(eval $m: $m-java))$(foreach m, $(GENDATA_MODULES), $(eval $m: $m-gendata))$(foreach m, $(RMIC_MODULES), $(eval $m: $m-rmic))$(foreach m, $(LIB_MODULES), $(eval $m: $m-libs))$(foreach m, $(LAUNCHER_MODULES), $(eval $m: $m-launchers))$(foreach m, $(COPY_MODULES), $(eval $m: $m-copy))ALL_MODULE_TARGETS := $(sort $(GENSRC_MODULES) $(JAVA_MODULES) \ $(GENDATA_MODULES) $(LIB_MODULES) $(LAUNCHER_MODULES) $(COPY_MODULES))exploded-image: $(ALL_MODULE_TARGETS)# The old 'jdk' target most closely matches the new exploded-image. Keep an# alias for ease of use.jdk: exploded-imagejars: main-jars nashorn-jar security-jars policy-jars# Make each profile name a target that depends on it's images target.$(foreach p, $(ALL_PROFILES), $(eval $(p): $(p)-images $(p)-jars))profiles: $(ALL_PROFILES)docs: docs-javadoc docs-jvmtidocALL_TARGETS += gensrc gendata copy java rmic libs launchers \ $(ALL_MODULE_TARGETS) exploded-image jdk jars \ $(ALL_PROFILES) profiles docs################################################################################all: images docs verify-modulesdefault: exploded-imageALL_TARGETS += default all################################################################################################################################################################## Clean targets################################################################################## Clean targets are automatically run serially by the Makefile calling this # file.CLEAN_COMPONENTS += langtools corba hotspot jdk nashorn images \ bootcycle-build docs docstemp testCLEAN_TARGETS := $(addprefix clean-, $(CLEAN_COMPONENTS))# Remove everything, except the output from configure.clean: $(CLEAN_TARGETS) ($(CD) $(OUTPUT_ROOT) && $(RM) -r tmp source_tips build.log* build-trace*.log*) $(ECHO) Cleaned all build artifacts.$(CLEAN_TARGETS): $(call CleanComponent,$(patsubst clean-%, %, $@))clean-docs: clean-docstemp# Remove everything, including configure configuration.# If the output directory was created by configure and now becomes empty, remove it as well.dist-clean: clean ($(CD) $(OUTPUT_ROOT) && $(RM) -r *spec.gmk config.* configure-arguments \ Makefile compare.sh spec.sh tmp javacservers) $(if $(filter $(CONF_NAME),$(notdir $(OUTPUT_ROOT))), \ if test "x`$(LS) $(OUTPUT_ROOT)`" != x; then \ $(ECHO) "Warning: Not removing non-empty configuration directory for '$(CONF_NAME)'" ; \ else \ ($(CD) $(SRC_ROOT) && $(ECHO) "Removing configuration directory for '$(CONF_NAME)'" \ && $(RM) -r $(OUTPUT_ROOT)) \ fi \ ) $(ECHO) Cleaned everything, you will have to re-run configure.ALL_TARGETS += clean dist-clean $(CLEAN_TARGETS)################################################################################# Setup a rule for SPEC file that fails if executed. This check makes sure the # configuration is up to date after changes to configure. ifeq ($(findstring reconfigure, $(MAKECMDGOALS)), ) $(SPEC): $(wildcard $(SRC_ROOT)/common/autoconf/*) @$(ECHO) "ERROR: $(SPEC) is not up to date." @$(ECHO) "Please rerun configure! Easiest way to do this is by running" @$(ECHO) "'make reconfigure'." @$(ECHO) "It may also be ignored by setting IGNORE_OLD_CONFIG=true" @if test "x$(IGNORE_OLD_CONFIG)" != "xtrue"; then exit 1; fiendif# The reconfigure target is automatically run serially from everything else# by the Makefile calling this file.reconfigure: ifneq ($(CONFIGURE_COMMAND_LINE), ) @$(ECHO) "Re-running configure using arguments '$(CONFIGURE_COMMAND_LINE)'" else @$(ECHO) "Re-running configure using default settings" endif @( cd $(OUTPUT_ROOT) && $(BASH) $(TOPDIR)/configure $(CONFIGURE_COMMAND_LINE) )ALL_TARGETS += reconfigure################################################################################# Declare *-only targets for each normal target$(foreach t, $(ALL_TARGETS), $(eval $(t)-only: $(t)))ALL_TARGETS += $(addsuffix -only, $(ALL_TARGETS))################################################################################.PHONY: $(ALL_TARGETS)include $(SRC_ROOT)/make/Jprt.gmkFRC: # Force target