1 # |
|
2 # Copyright (c) 2001, 2012, 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 # HOTSPOT TARGETS |
|
28 ################################################################ |
|
29 |
|
30 # All the output from a hotspot build should be re-located to the |
|
31 # build output area. |
|
32 # |
|
33 HOTSPOT_OUTPUTDIR = $(HOTSPOT_DIR)/outputdir |
|
34 |
|
35 # HOTSPOT_EXPORT_PATH points to a dir that contains files |
|
36 # that are needed in an SDK build, in the same relative positions as |
|
37 # these files are in an SDK image. |
|
38 # The SDK java/redist/Makefile will copy files from HOTSPOT_EXPORT_PATH |
|
39 # into the SDK being built. |
|
40 # This is the export path supplied to the hotspot makefiles. |
|
41 # |
|
42 HOTSPOT_EXPORT_PATH = $(HOTSPOT_DIR)/import |
|
43 |
|
44 # Default targets |
|
45 HOTSPOT = hotspot-sanity hotspot-build |
|
46 |
|
47 hotspot:: $(HOTSPOT) |
|
48 |
|
49 # Hotspot clobber removes the output directory and exported files |
|
50 hotspot-clobber:: |
|
51 $(RM) -r $(HOTSPOT_OUTPUTDIR) |
|
52 $(RM) -r $(HOTSPOT_EXPORT_PATH) |
|
53 |
|
54 hotspot-sanity:: |
|
55 @$(MKDIR) -p $(HOTSPOT_OUTPUTDIR) |
|
56 @$(MKDIR) -p $(HOTSPOT_EXPORT_PATH) |
|
57 @$(ECHO) "Hotspot Settings: \n" \ |
|
58 " HOTSPOT_BUILD_JOBS = $(HOTSPOT_BUILD_JOBS) \n" \ |
|
59 " HOTSPOT_OUTPUTDIR = $(HOTSPOT_OUTPUTDIR) \n" \ |
|
60 " HOTSPOT_EXPORT_PATH = $(HOTSPOT_EXPORT_PATH) \n" \ |
|
61 "\n" >> $(MESSAGE_FILE) |
|
62 |
|
63 # |
|
64 # Basic hotspot build and export of it's files |
|
65 # |
|
66 |
|
67 HOTSPOT_TARGET = all_product |
|
68 ifeq ($(DEBUG_NAME), debug) |
|
69 HOTSPOT_TARGET = all_debug |
|
70 endif |
|
71 ifeq ($(DEBUG_NAME), fastdebug) |
|
72 HOTSPOT_TARGET = all_fastdebug |
|
73 endif |
|
74 BUILD_FLAVOR=$(HOTSPOT_TARGET:all_%=%) |
|
75 |
|
76 ifeq ($(ZERO_BUILD), true) |
|
77 ifeq ($(SHARK_BUILD), true) |
|
78 HOTSPOT_TARGET := $(HOTSPOT_TARGET)shark |
|
79 else |
|
80 HOTSPOT_TARGET := $(HOTSPOT_TARGET)zero |
|
81 endif |
|
82 endif |
|
83 |
|
84 HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS) |
|
85 HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) |
|
86 HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) |
|
87 HOTSPOT_BUILD_ARGUMENTS += BUILD_FLAVOR=$(BUILD_FLAVOR) |
|
88 |
|
89 # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? |
|
90 # Or is there something wrong with hotspot/make/Makefile? |
|
91 HOTSPOT_BUILD_ARGUMENTS += ALT_SLASH_JAVA=$(SLASH_JAVA) |
|
92 HOTSPOT_BUILD_ARGUMENTS += ALT_BOOTDIR=$(BOOTDIR) |
|
93 |
|
94 ifeq ($(BUILD_LANGTOOLS), true) |
|
95 HOTSPOT_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST) |
|
96 endif |
|
97 |
|
98 # Move to COMMON_BUILD_ARGUMENTS when all repos support |
|
99 # FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES: |
|
100 ifdef FULL_DEBUG_SYMBOLS |
|
101 HOTSPOT_BUILD_ARGUMENTS += FULL_DEBUG_SYMBOLS=$(FULL_DEBUG_SYMBOLS) |
|
102 endif |
|
103 |
|
104 ifdef ZIP_DEBUGINFO_FILES |
|
105 HOTSPOT_BUILD_ARGUMENTS += ZIP_DEBUGINFO_FILES="$(ZIP_DEBUGINFO_FILES)" |
|
106 endif |
|
107 |
|
108 hotspot-build:: |
|
109 $(MKDIR) -p $(HOTSPOT_OUTPUTDIR) |
|
110 $(MKDIR) -p $(HOTSPOT_EXPORT_PATH) |
|
111 @$(call MakeStart,hotspot,$(HOTSPOT_TARGET)) |
|
112 $(CD) $(HOTSPOT_TOPDIR)/make && \ |
|
113 $(MAKE) $(HOTSPOT_BUILD_ARGUMENTS) $(HOTSPOT_TARGET) |
|
114 @$(call MakeFinish,hotspot,$(HOTSPOT_TARGET)) |
|
115 |
|
116 ##################### |
|
117 # .PHONY |
|
118 ##################### |
|
119 .PHONY: hotspot-build hotspot-clobber hotspot-sanity |
|
120 |
|