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