|
1 # |
|
2 # Copyright 2001-2007 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 # |
|
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 |
|
75 HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS) |
|
76 HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) |
|
77 HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) |
|
78 |
|
79 # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? |
|
80 # Or is there something wrong with hotspot/make/Makefile? |
|
81 HOTSPOT_BUILD_ARGUMENTS += ALT_SLASH_JAVA=$(SLASH_JAVA) |
|
82 HOTSPOT_BUILD_ARGUMENTS += ALT_BOOTDIR=$(BOOTDIR) |
|
83 |
|
84 ifeq ($(BUILD_LANGTOOLS), true) |
|
85 HOTSPOT_BUILD_ARGUMENTS += ALT_LANGTOOLS_DIST=$(ABS_LANGTOOLS_DIST) |
|
86 endif |
|
87 |
|
88 hotspot-build:: |
|
89 $(MKDIR) -p $(HOTSPOT_OUTPUTDIR) |
|
90 $(MKDIR) -p $(HOTSPOT_EXPORT_PATH) |
|
91 $(CD) $(HOTSPOT_TOPDIR)/make && \ |
|
92 $(MAKE) $(HOTSPOT_BUILD_ARGUMENTS) $(HOTSPOT_TARGET) |
|
93 |
|
94 ##################### |
|
95 # .PHONY |
|
96 ##################### |
|
97 .PHONY: hotspot-build hotspot-clobber hotspot-sanity |
|
98 |