jdk/makefiles/common/shared/Defs-control.gmk
changeset 13164 72c5d01a857d
parent 13082 9b19b2302c28
child 13167 efec101d7d87
equal deleted inserted replaced
13082:9b19b2302c28 13164:72c5d01a857d
     1 #
       
     2 # Copyright (c) 1995, 2011, Oracle and/or its affiliates. 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.  Oracle designates this
       
     8 # particular file as subject to the "Classpath" exception as provided
       
     9 # by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    22 # or visit www.oracle.com if you need additional information or have any
       
    23 # questions.
       
    24 #
       
    25 
       
    26 #
       
    27 # Common variables used by all the Java makefiles.  This file should
       
    28 # not contain rules.
       
    29 #
       
    30 
       
    31 # WARNING: This file is shared with other components.
       
    32 #
       
    33 
       
    34 ifndef JDK_MAKE_SHARED_DIR
       
    35   JDK_MAKE_SHARED_DIR = $(JDK_TOPDIR)/makefiles/common/shared
       
    36 endif
       
    37 
       
    38 ifndef HOTSPOT_TOPDIR
       
    39   HOTSPOT_TOPDIR=$(TOPDIR)/hotspot
       
    40 endif
       
    41 ifndef LANGTOOLS_TOPDIR
       
    42   LANGTOOLS_TOPDIR=$(TOPDIR)/langtools
       
    43 endif
       
    44 ifndef CORBA_TOPDIR
       
    45   CORBA_TOPDIR=$(TOPDIR)/corba
       
    46 endif
       
    47 ifndef JAXP_TOPDIR
       
    48   JAXP_TOPDIR=$(TOPDIR)/jaxp
       
    49 endif
       
    50 ifndef JAXWS_TOPDIR
       
    51   JAXWS_TOPDIR=$(TOPDIR)/jaxws
       
    52 endif
       
    53 ifndef JDK_TOPDIR
       
    54   JDK_TOPDIR=$(TOPDIR)/jdk
       
    55 endif
       
    56 ifndef INSTALL_TOPDIR
       
    57   INSTALL_TOPDIR=$(TOPDIR)/install
       
    58 endif
       
    59 ifndef SPONSORS_TOPDIR
       
    60   SPONSORS_TOPDIR=$(TOPDIR)/sponsors
       
    61 endif
       
    62 ifndef DEPLOY_TOPDIR
       
    63   DEPLOY_TOPDIR=$(TOPDIR)/deploy
       
    64 endif
       
    65 
       
    66 # Get shared platform settings
       
    67 include $(JDK_MAKE_SHARED_DIR)/Platform.gmk
       
    68 
       
    69 # Default directory immediately above the "build" output directory (OUTPUTDIR)
       
    70 BUILD_PARENT_DIRECTORY=$(TOPDIR)
       
    71 
       
    72 # Get platform specific settings
       
    73 include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
       
    74 
       
    75 SRC_BUNDLEDIR       = $(OUTPUTDIR)/source-bundles
       
    76 ABS_SRC_BUNDLEDIR   = $(ABS_OUTPUTDIR)/source-bundles
       
    77 BIN_BUNDLEDIR       = $(OUTPUTDIR)/bundles
       
    78 BIN_DEMOS_BUNDLEDIR = $(OUTPUTDIR)/demos-bundles
       
    79 ABS_BIN_BUNDLEDIR   = $(ABS_OUTPUTDIR)/bundles
       
    80 
       
    81 dummy := $(shell $(MKDIR) -p $(BIN_BUNDLEDIR))
       
    82 dummy := $(shell $(MKDIR) -p $(BIN_DEMOS_BUNDLEDIR) )
       
    83 dummy := $(shell $(MKDIR) -p $(SRC_BUNDLEDIR) )
       
    84 
       
    85 TEMP_DIR = $(OUTPUTDIR)/tmp
       
    86 ABS_TEMP_DIR = $(ABS_OUTPUTDIR)/tmp
       
    87 
       
    88 dummy := $(shell $(MKDIR) -p $(TEMP_DIR))
       
    89 
       
    90 # The language version we want for this jdk build
       
    91 SOURCE_LANGUAGE_VERSION=7
       
    92 # The class version we want for this jdk build
       
    93 TARGET_CLASS_VERSION=7
       
    94 
       
    95 # The MESSAGE, WARNING and ERROR files are used to store sanity check and 
       
    96 # source check messages, warnings and errors. 
       
    97 export ERROR_FILE   := $(ABS_OUTPUTDIR)/sanityCheckErrors.txt
       
    98 export WARNING_FILE := $(ABS_OUTPUTDIR)/sanityCheckWarnings.txt
       
    99 export MESSAGE_FILE := $(ABS_OUTPUTDIR)/sanityCheckMessages.txt
       
   100 
       
   101 # source bundle generation definitions
       
   102 BUNDLE_DATE := $(shell $(DATE) '+%d_%b_%Y' | $(TR) "[A-Z]" "[a-z]")
       
   103 ifdef ALT_BUNDLE_DATE
       
   104   BUNDLE_DATE := $(ALT_BUNDLE_DATE)
       
   105 endif
       
   106 
       
   107 # If the update version contains non-numeric characters, we need
       
   108 # to massage it into a numeric format.  Unfortunately, the
       
   109 # Windows VERSIONINFO resource that we stick in jvm.dll cannot
       
   110 # handle non-numeric characters.  We have to do this here because
       
   111 # Hotspot (nmake) cannot handle calculations.  So we use the
       
   112 # following formula:
       
   113 # COOKED_JDK_UPDATE_VERSION = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
       
   114 # 
       
   115 # Here are some examples:
       
   116 #     1.5.0    b01  ->  5,0,0,1
       
   117 #     1.5.0_10 b01  ->  5,0,100,1 
       
   118 #     1.4.2 b01     ->  4,2,0,1
       
   119 #     1.4.2_02 b01  ->  4,2,20,1
       
   120 #     1.4.2_02a b01 ->  4,2,21,1
       
   121 #     1.4.2_02b b01 ->  4,2,22,1
       
   122 ifdef JDK_UPDATE_VERSION
       
   123   VTMP := $(shell $(ECHO) $(JDK_UPDATE_VERSION) | $(TR) "abcde" "12345")
       
   124   CHAR1 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 1, 1);}')
       
   125   CHAR2 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 2, 1);}')
       
   126   CHAR3 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 3, 1);}')
       
   127   ifeq ($(CHAR3),)
       
   128     CHAR3 := 0
       
   129   endif
       
   130   ifeq ($(CHAR1), 0)
       
   131     COOKED_JDK_UPDATE_VERSION := $(CHAR2)$(CHAR3)
       
   132   else
       
   133     COOKED_JDK_UPDATE_VERSION := $(CHAR1)$(CHAR2)$(CHAR3)
       
   134   endif
       
   135 endif
       
   136 
       
   137 ifneq ($(JDK_BUILD_NUMBER),)
       
   138  COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) \
       
   139 			       | $(SED) -e 's/^b//' | $(SED) -e 's/^0//')
       
   140 else
       
   141  COOKED_BUILD_NUMBER = 0
       
   142 endif
       
   143