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)/make/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 BDB_TOPDIR
  54   BDB_TOPDIR=$(TOPDIR)/bdb
  55 endif
  56 ifndef JDK_TOPDIR
  57   JDK_TOPDIR=$(TOPDIR)/jdk
  58 endif
  59 ifndef INSTALL_TOPDIR
  60   INSTALL_TOPDIR=$(TOPDIR)/install
  61 endif
  62 ifndef SPONSORS_TOPDIR
  63   SPONSORS_TOPDIR=$(TOPDIR)/sponsors
  64 endif
  65 ifndef DEPLOY_TOPDIR
  66   DEPLOY_TOPDIR=$(TOPDIR)/deploy
  67 endif
  68 
  69 # Get shared platform settings
  70 include $(JDK_MAKE_SHARED_DIR)/Platform.gmk
  71 
  72 # Default directory immediately above the "build" output directory (OUTPUTDIR)
  73 BUILD_PARENT_DIRECTORY=$(TOPDIR)
  74 
  75 # Get platform specific settings
  76 include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
  77 
  78 SRC_BUNDLEDIR       = $(OUTPUTDIR)/source-bundles
  79 ABS_SRC_BUNDLEDIR   = $(ABS_OUTPUTDIR)/source-bundles
  80 BIN_BUNDLEDIR       = $(OUTPUTDIR)/bundles
  81 BIN_DEMOS_BUNDLEDIR = $(OUTPUTDIR)/demos-bundles
  82 ABS_BIN_BUNDLEDIR   = $(ABS_OUTPUTDIR)/bundles
  83 
  84 dummy := $(shell $(MKDIR) -p $(BIN_BUNDLEDIR))
  85 dummy := $(shell $(MKDIR) -p $(BIN_DEMOS_BUNDLEDIR) )
  86 dummy := $(shell $(MKDIR) -p $(SRC_BUNDLEDIR) )
  87 
  88 TEMP_DIR = $(OUTPUTDIR)/tmp
  89 ABS_TEMP_DIR = $(ABS_OUTPUTDIR)/tmp
  90 
  91 dummy := $(shell $(MKDIR) -p $(TEMP_DIR))
  92 
  93 # The language version we want for this jdk build
  94 SOURCE_LANGUAGE_VERSION=7
  95 # The class version we want for this jdk build
  96 TARGET_CLASS_VERSION=7
  97 
  98 # The MESSAGE, WARNING and ERROR files are used to store sanity check and
  99 # source check messages, warnings and errors.
 100 export ERROR_FILE   := $(ABS_OUTPUTDIR)/sanityCheckErrors.txt
 101 export WARNING_FILE := $(ABS_OUTPUTDIR)/sanityCheckWarnings.txt
 102 export MESSAGE_FILE := $(ABS_OUTPUTDIR)/sanityCheckMessages.txt
 103 
 104 # source bundle generation definitions
 105 BUNDLE_DATE := $(shell $(DATE) '+%d_%b_%Y' | $(TR) "[A-Z]" "[a-z]")
 106 ifdef ALT_BUNDLE_DATE
 107   BUNDLE_DATE := $(ALT_BUNDLE_DATE)
 108 endif
 109 
 110 # If the update version contains non-numeric characters, we need
 111 # to massage it into a numeric format.  Unfortunately, the
 112 # Windows VERSIONINFO resource that we stick in jvm.dll cannot
 113 # handle non-numeric characters.  We have to do this here because
 114 # Hotspot (nmake) cannot handle calculations.  So we use the
 115 # following formula:
 116 # COOKED_JDK_UPDATE_VERSION = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
 117 #
 118 # Here are some examples:
 119 #     1.5.0    b01  ->  5,0,0,1
 120 #     1.5.0_10 b01  ->  5,0,100,1
 121 #     1.4.2 b01     ->  4,2,0,1
 122 #     1.4.2_02 b01  ->  4,2,20,1
 123 #     1.4.2_02a b01 ->  4,2,21,1
 124 #     1.4.2_02b b01 ->  4,2,22,1
 125 ifdef JDK_UPDATE_VERSION
 126   VTMP := $(shell $(ECHO) $(JDK_UPDATE_VERSION) | $(TR) "abcde" "12345")
 127   CHAR1 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 1, 1);}')
 128   CHAR2 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 2, 1);}')
 129   CHAR3 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 3, 1);}')
 130   ifeq ($(CHAR3),)
 131     CHAR3 := 0
 132   endif
 133   ifeq ($(CHAR1), 0)
 134     COOKED_JDK_UPDATE_VERSION := $(CHAR2)$(CHAR3)
 135   else
 136     COOKED_JDK_UPDATE_VERSION := $(CHAR1)$(CHAR2)$(CHAR3)
 137   endif
 138 endif
 139 
 140 ifneq ($(JDK_BUILD_NUMBER),)
 141  COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) \
 142                                | $(SED) -e 's/^b//' | $(SED) -e 's/^0//')
 143 else
 144  COOKED_BUILD_NUMBER = 0
 145 endif
 146