make/Defs-internal.gmk

Wed, 18 Nov 2009 16:41:09 -0800

author
ohair
date
Wed, 18 Nov 2009 16:41:09 -0800
changeset 144
382219a27386
parent 128
e76b72562a98
child 151
432cbbdc44bc
permissions
-rw-r--r--

6727046: Add message when docs are skipped in control build
6864011: typo? in top level Makefile: DAYE_STAMP
Reviewed-by: jjg

     1 #
     2 # Copyright 1995-2009 Sun Microsystems, Inc.  All Rights Reserved.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 #
     5 # This code is free software; you can redistribute it and/or modify it
     6 # under the terms of the GNU General Public License version 2 only, as
     7 # published by the Free Software Foundation.  Sun designates this
     8 # particular file as subject to the "Classpath" exception as provided
     9 # by Sun in the LICENSE file that accompanied this code.
    10 #
    11 # This code is distributed in the hope that it will be useful, but WITHOUT
    12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14 # version 2 for more details (a copy is included in the LICENSE file that
    15 # accompanied this code).
    16 #
    17 # You should have received a copy of the GNU General Public License version
    18 # 2 along with this work; if not, write to the Free Software Foundation,
    19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20 #
    21 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    22 # CA 95054 USA or visit www.sun.com if you need additional information or
    23 # have any questions.
    24 #
    26 #
    27 # Common variables used by all the Java makefiles.  This file should
    28 # not contain rules.
    29 #
    31 # Indicate that we are visiting a separate repo or component 
    32 define MakeStart
    33 $(PRINTF) "\n\n%s\n%s\n##### %-60.60s #####\n%s\n" \
    34 "########################################################################" \
    35 "########################################################################" \
    36 "Entering $1 for target $2" \
    37 "########################################################################"
    38 endef
    40 define MakeFinish
    41 $(PRINTF) "%s\n##### %-60.60s #####\n%s\n%s\n\n" \
    42 "########################################################################" \
    43 "Leaving $1 for target $2" \
    44 "########################################################################" \
    45 "########################################################################"
    46 endef
    48 ifdef OPENJDK
    49   ifneq ($(OPENJDK),true)
    50     x:=$(error "OPENJDK (if defined) can only be set to true")
    51   endif
    52 endif
    54 # Define absolute paths to TOPDIRs
    55 ABS_CONTROL_TOPDIR:=$(call OptFullPath,"$(CONTROL_TOPDIR)")
    56 ABS_LANGTOOLS_TOPDIR:=$(call OptFullPath,"$(LANGTOOLS_TOPDIR)")
    57 ABS_CORBA_TOPDIR:=$(call OptFullPath,"$(CORBA_TOPDIR)")
    58 ABS_JAXP_TOPDIR:=$(call OptFullPath,"$(JAXP_TOPDIR)")
    59 ABS_JAXWS_TOPDIR:=$(call OptFullPath,"$(JAXWS_TOPDIR)")
    60 ABS_JDK_TOPDIR:=$(call OptFullPath,"$(JDK_TOPDIR)")
    61 ABS_HOTSPOT_TOPDIR:=$(call OptFullPath,"$(HOTSPOT_TOPDIR)")
    62 ABS_INSTALL_TOPDIR:=$(call OptFullPath,"$(INSTALL_TOPDIR)")
    63 ABS_SPONSORS_TOPDIR:=$(call OptFullPath,"$(SPONSORS_TOPDIR)")
    64 ABS_DEPLOY_TOPDIR:=$(call OptFullPath,"$(DEPLOY_TOPDIR)")
    66 # Macro to return true or false if a file exists and is readable
    67 define MkExists
    68 $(shell if [ -r $1 ]; then $(ECHO) true; else $(ECHO) false; fi)
    69 endef
    71 HOTSPOT_SRC_AVAILABLE := $(call MkExists,$(HOTSPOT_TOPDIR)/make/Makefile)
    72 ifndef BUILD_HOTSPOT
    73   ifdef ALT_HOTSPOT_IMPORT_PATH
    74     BUILD_HOTSPOT := false
    75   else
    76     BUILD_HOTSPOT := $(HOTSPOT_SRC_AVAILABLE)
    77   endif
    78 endif
    80 LANGTOOLS_SRC_AVAILABLE := $(call MkExists,$(LANGTOOLS_TOPDIR)/make/Makefile)
    81 ifndef BUILD_LANGTOOLS
    82   ifdef ALT_LANGTOOLS_DIST
    83     BUILD_LANGTOOLS := false
    84   else
    85     BUILD_LANGTOOLS := $(LANGTOOLS_SRC_AVAILABLE)
    86   endif
    87 endif
    89 CORBA_SRC_AVAILABLE := $(call MkExists,$(CORBA_TOPDIR)/make/Makefile)
    90 ifndef BUILD_CORBA
    91   ifdef ALT_CORBA_DIST
    92     BUILD_CORBA := false
    93   else
    94     BUILD_CORBA := $(CORBA_SRC_AVAILABLE)
    95   endif
    96 endif
    98 JAXP_SRC_AVAILABLE := $(call MkExists,$(JAXP_TOPDIR)/make/Makefile)
    99 ifndef BUILD_JAXP
   100   ifdef ALT_JAXP_DIST
   101     BUILD_JAXP := false
   102   else
   103     BUILD_JAXP := $(JAXP_SRC_AVAILABLE)
   104   endif
   105 endif
   107 JAXWS_SRC_AVAILABLE := $(call MkExists,$(JAXWS_TOPDIR)/make/Makefile)
   108 ifndef BUILD_JAXWS
   109   ifdef ALT_JAXWS_DIST
   110     BUILD_JAXWS := false
   111   else
   112     BUILD_JAXWS := $(JAXWS_SRC_AVAILABLE)
   113   endif
   114 endif
   116 JDK_SRC_AVAILABLE := $(call MkExists,$(JDK_TOPDIR)/make/Makefile)
   117 ifndef BUILD_JDK
   118   BUILD_JDK := $(JDK_SRC_AVAILABLE)
   119 endif
   120 ifeq ($(JDK_SRC_AVAILABLE),true)
   121   JDK_CLOSED_SRC_AVAILABLE := $(call MkExists,$(JDK_TOPDIR)/src/closed)
   122   ifeq ($(JDK_CLOSED_SRC_AVAILABLE),false)
   123     OPENJDK = true
   124   endif
   125 endif
   127 DEPLOY_SRC_AVAILABLE := $(call MkExists,$(DEPLOY_TOPDIR)/make/Makefile)
   128 ifndef BUILD_DEPLOY
   129   BUILD_DEPLOY := $(DEPLOY_SRC_AVAILABLE)
   130 endif
   132 INSTALL_SRC_AVAILABLE := $(call MkExists,$(INSTALL_TOPDIR)/make/Makefile)
   133 ifndef BUILD_INSTALL
   134   ifdef DEV_ONLY
   135     BUILD_INSTALL := false
   136   else
   137     BUILD_INSTALL := $(INSTALL_SRC_AVAILABLE)
   138   endif
   139 endif
   141 SPONSORS_SRC_AVAILABLE := $(call MkExists,$(SPONSORS_TOPDIR)/make/Makefile)
   142 ifndef BUILD_SPONSORS
   143   ifdef DEV_ONLY
   144     BUILD_SPONSORS := false
   145   else
   146     BUILD_SPONSORS := $(SPONSORS_SRC_AVAILABLE)
   147   endif
   148 endif
   151 # Do we build the source and openjdk binary plug bundles?
   152 BUNDLE_RULES = $(JDK_TOPDIR)/make/closed/bundles.gmk
   153 ifeq ($(SKIP_BUNDLES_BUILD), true)
   154   BUNDLE_RULES_AVAILABLE := false
   155 else 
   156   BUNDLE_RULES_AVAILABLE := $(call MkExists,$(BUNDLE_RULES))
   157 endif
   159 # Current things we do NOT build for OPENJDK
   160 ifdef OPENJDK
   161   BUILD_DEPLOY = false
   162   BUILD_INSTALL = false
   163   BUILD_SPONSORS = false
   164   BUNDLE_RULES_AVAILABLE := false
   165   # These could be over-ridden on the command line or in environment
   166   ifndef SKIP_FASTDEBUG_BUILD
   167     SKIP_FASTDEBUG_BUILD = true
   168   endif
   169   ifndef SKIP_DEBUG_BUILD
   170     SKIP_DEBUG_BUILD = true
   171   endif
   172   ifndef SKIP_COMPARE_IMAGES
   173     SKIP_COMPARE_IMAGES = true
   174   endif
   175   SKIP_OPENJDK_BUILD = true
   176 else
   178   # Various non-OPENJDK reasons to NOT build the deploy repository
   179   ifeq ($(ARCH), ia64)
   180     BUILD_DEPLOY=false
   181   endif
   182   ifeq ($(ARCH), sparcv9)
   183     BUILD_DEPLOY=false
   184   endif
   185   ifeq ($(ARCH), amd64)
   186     ifeq ($(PLATFORM), solaris)
   187       BUILD_DEPLOY=false
   188     endif
   189   endif
   191   ifndef SKIP_OPENJDK_BUILD
   192     #SKIP_OPENJDK_BUILD = false
   193     # Until 6675289 is resolved, or this feature is removed.
   194     SKIP_OPENJDK_BUILD = true
   195   endif
   196 endif
   197 ifndef SKIP_PRODUCT_BUILD
   198   SKIP_PRODUCT_BUILD = false
   199 endif
   201 # Solaris 64 bit builds are not complete enough to ever do this
   202 ifeq ($(PLATFORM)$(ARCH_DATA_MODEL),solaris64)
   203   SKIP_OPENJDK_BUILD = true
   204 endif
   206 # Many reasons why we would want to skip the comparison to previous jdk
   207 ifndef SKIP_COMPARE_IMAGES
   208   ifeq ($(BUILD_JDK), false)
   209     SKIP_COMPARE_IMAGES = true
   210   endif
   211   ifeq ($(BUILD_DEPLOY), false)
   212     SKIP_COMPARE_IMAGES = true
   213   endif
   214   ifeq ($(BUILD_INSTALL), false)
   215     SKIP_COMPARE_IMAGES = true
   216   endif
   217   ifdef DEV_ONLY
   218     SKIP_COMPARE_IMAGES = true
   219   endif
   220 endif
   222 # Select defaults if these are not set to true or false
   223 ifndef SKIP_DEBUG_BUILD
   224   SKIP_DEBUG_BUILD=true
   225 endif
   226 ifndef SKIP_FASTDEBUG_BUILD
   227   SKIP_FASTDEBUG_BUILD=false
   228 endif
   230 # Select javadoc setting GENERATE_DOCS
   231 ifndef NO_DOCS
   232   # Default value (we want javadoc run)
   233   GENERATE_DOCS=true
   234   # No DOCS build when JDK_UPDATE_VERSION set
   235   ifdef JDK_UPDATE_VERSION
   236     GENERATE_DOCS=false
   237   endif
   238   # If langtools, corba, jaxp, and jaxws are not being built, 
   239   #   a full jdk javadoc is not possible
   240   ifneq ($(BUILD_LANGTOOLS), true)
   241     GENERATE_DOCS=false
   242   endif
   243   ifneq ($(BUILD_CORBA), true)
   244     GENERATE_DOCS=false
   245   endif
   246   ifneq ($(BUILD_JAXP), true)
   247     GENERATE_DOCS=false
   248   endif
   249   ifneq ($(BUILD_JAXWS), true)
   250     GENERATE_DOCS=false
   251   endif
   252   ifeq ($(GENERATE_DOCS),false)
   253     NO_DOCS=true
   254   endif
   255 else
   256   GENERATE_DOCS=false
   257 endif
   259 # Output directory for hotspot build
   260 HOTSPOT_DIR = $(ABS_OUTPUTDIR)/hotspot
   262 # If we are building components
   263 ifndef ALT_LANGTOOLS_DIST
   264   LANGTOOLS_OUTPUTDIR = $(ABS_OUTPUTDIR)/langtools
   265   ABS_LANGTOOLS_DIST = $(LANGTOOLS_OUTPUTDIR)/dist
   266 endif
   267 ifndef ALT_CORBA_DIST
   268   CORBA_OUTPUTDIR = $(ABS_OUTPUTDIR)/corba
   269   ABS_CORBA_DIST = $(CORBA_OUTPUTDIR)/dist
   270 endif
   271 ifndef ALT_JAXP_DIST
   272   JAXP_OUTPUTDIR = $(ABS_OUTPUTDIR)/jaxp
   273   ABS_JAXP_DIST = $(JAXP_OUTPUTDIR)/dist
   274 endif
   275 ifndef ALT_JAXWS_DIST
   276   JAXWS_OUTPUTDIR = $(ABS_OUTPUTDIR)/jaxws
   277   ABS_JAXWS_DIST = $(JAXWS_OUTPUTDIR)/dist
   278 endif
   280 # Common make arguments (supplied to all component builds)
   281 COMMON_BUILD_ARGUMENTS = \
   282     JDK_TOPDIR=$(ABS_JDK_TOPDIR) \
   283     JDK_MAKE_SHARED_DIR=$(ABS_JDK_TOPDIR)/make/common/shared \
   284     EXTERNALSANITYCONTROL=true \
   285     SOURCE_LANGUAGE_VERSION=$(SOURCE_LANGUAGE_VERSION) \
   286     TARGET_CLASS_VERSION=$(TARGET_CLASS_VERSION) \
   287     MILESTONE=$(MILESTONE) \
   288     BUILD_NUMBER=$(BUILD_NUMBER) \
   289     JDK_BUILD_NUMBER=$(JDK_BUILD_NUMBER) \
   290     FULL_VERSION=$(FULL_VERSION) \
   291     PREVIOUS_JDK_VERSION=$(PREVIOUS_JDK_VERSION) \
   292     JDK_VERSION=$(JDK_VERSION) \
   293     JDK_MKTG_VERSION=$(JDK_MKTG_VERSION) \
   294     JDK_MAJOR_VERSION=$(JDK_MAJOR_VERSION) \
   295     JDK_MINOR_VERSION=$(JDK_MINOR_VERSION) \
   296     JDK_MICRO_VERSION=$(JDK_MICRO_VERSION) \
   297     PREVIOUS_MAJOR_VERSION=$(PREVIOUS_MAJOR_VERSION) \
   298     PREVIOUS_MINOR_VERSION=$(PREVIOUS_MINOR_VERSION) \
   299     PREVIOUS_MICRO_VERSION=$(PREVIOUS_MICRO_VERSION)
   301 ifdef ARCH_DATA_MODEL
   302   COMMON_BUILD_ARGUMENTS += ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)
   303 endif
   305 ifeq ($(DEBUG_NAME), debug)
   306   COMMON_BUILD_ARGUMENTS += VARIANT=DBG DEBUG_CLASSFILES=true
   307 endif
   309 ifeq ($(DEBUG_NAME), fastdebug)
   310   COMMON_BUILD_ARGUMENTS += VARIANT=DBG FASTDEBUG=true DEBUG_CLASSFILES=true
   311 endif
   313 ifdef COOKED_JDK_UPDATE_VERSION
   314   COMMON_BUILD_ARGUMENTS += COOKED_JDK_UPDATE_VERSION=$(COOKED_JDK_UPDATE_VERSION)
   315 endif
   317 ifdef COOKED_BUILD_NUMBER
   318   COMMON_BUILD_ARGUMENTS += COOKED_BUILD_NUMBER=$(COOKED_BUILD_NUMBER)
   319 endif
   321 ifdef ANT_HOME
   322   COMMON_BUILD_ARGUMENTS += ANT_HOME="$(ANT_HOME)"
   323 endif

mercurial