1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/make/Makefile Wed Apr 27 01:25:04 2016 +0800 1.3 @@ -0,0 +1,844 @@ 1.4 +# 1.5 +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. 1.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.7 +# 1.8 +# This code is free software; you can redistribute it and/or modify it 1.9 +# under the terms of the GNU General Public License version 2 only, as 1.10 +# published by the Free Software Foundation. 1.11 +# 1.12 +# This code is distributed in the hope that it will be useful, but WITHOUT 1.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1.14 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1.15 +# version 2 for more details (a copy is included in the LICENSE file that 1.16 +# accompanied this code). 1.17 +# 1.18 +# You should have received a copy of the GNU General Public License version 1.19 +# 2 along with this work; if not, write to the Free Software Foundation, 1.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1.21 +# 1.22 +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 1.23 +# or visit www.oracle.com if you need additional information or have any 1.24 +# questions. 1.25 +# 1.26 +# 1.27 + 1.28 +# Top level gnumake file for hotspot builds 1.29 +# 1.30 +# Default is to build the both product images and construct an export dir. 1.31 +# The default export directory name is `pwd`/export-$(PLATFORM). 1.32 +# 1.33 +# Use: 'gnumake help' for more information. 1.34 +# 1.35 +# This makefile uses the default settings for where to find compilers and 1.36 +# tools, and obeys the ALT_* variable settings used by the other JDK 1.37 +# workspaces. 1.38 +# 1.39 + 1.40 +# Expected/optional make variables defined on make command line: 1.41 +# LP64=1 or ARCH_DATA_MODEL=64 for 64bit build 1.42 +# 1.43 +# Expected/optional make variables or environment variables: 1.44 +# ALT_SLASH_JAVA Location of /java or J: 1.45 +# ALT_BOOTDIR Previous JDK home directory for javac compiler 1.46 +# ALT_OUTPUTDIR Output directory to use for hotspot build 1.47 +# ALT_EXPORT_PATH Directory to export hotspot build to 1.48 +# ALT_JDK_IMPORT_PATH Current JDK build (only for create_jdk rules) 1.49 +# ALT_JDK_TARGET_IMPORT_PATH Current JDK build when cross-compiling 1.50 +# ALT_BUILD_WIN_SA Building SA on Windows is disabled by default. 1.51 +# Set ALT_BUILD_WIN_SA=1 to enable building SA on 1.52 +# Windows. 1.53 +# Version strings and numbers: 1.54 +# JDK_VERSION Current JDK version (e.g. 1.6.0) 1.55 +# PREVIOUS_JDK_VERSION Previous (bootdir) JDK version (e.g. 1.5.0) 1.56 +# FULL_VERSION Full version string to use (e.g. "1.6.0-ea-b42") 1.57 +# 1.58 +# Version strings and numbers especially needed on Windows: 1.59 +# COOKED_JDK_UPDATE_VERSION Just the update release number (e.g. 02) 1.60 +# COOKED_BUILD_NUMBER Just the build number (e.g. 42) 1.61 +# JDK_MKTG_VERSION Marketing JDK version (e.g. 6.0) 1.62 +# JDK_MAJOR_VERSION Major number for version (e.g. 1) always 1? 1.63 +# JDK_MINOR_VERSION Minor number for version (e.g. 6) 1.64 +# JDK_MICRO_VERSION Micro number for version (e.g. 0) 1.65 +# 1.66 + 1.67 +# Default is build both product fastdebug and create export area 1.68 + 1.69 +# Allow to build HotSpot in local directory from sources specified by GAMMADIR. 1.70 +# After make/defs.make GAMMADIR is defined. 1.71 +ifdef GAMMADIR 1.72 + ifndef ALT_OUTPUTDIR 1.73 + ALT_OUTPUTDIR := $(shell pwd) 1.74 + endif 1.75 + include $(GAMMADIR)/make/defs.make 1.76 +else 1.77 + include defs.make 1.78 +endif 1.79 + 1.80 +include $(GAMMADIR)/make/altsrc.make 1.81 + 1.82 +-include $(HS_ALT_MAKE)/Makefile.make 1.83 + 1.84 +ifneq ($(ALT_OUTPUTDIR),) 1.85 + ALT_OUT=ALT_OUTPUTDIR=$(ALT_OUTPUTDIR) 1.86 +else 1.87 + ALT_OUT= 1.88 +endif 1.89 + 1.90 +# Typical C1/C2 targets made available with this Makefile 1.91 +C1_VM_TARGETS=product1 fastdebug1 optimized1 debug1 1.92 +C2_VM_TARGETS=product fastdebug optimized debug 1.93 +CORE_VM_TARGETS=productcore fastdebugcore optimizedcore debugcore 1.94 +ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero debugzero 1.95 +SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark debugshark 1.96 +MINIMAL1_VM_TARGETS=productminimal1 fastdebugminimal1 debugminimal1 1.97 + 1.98 +COMMON_VM_PRODUCT_TARGETS=product product1 docs export_product 1.99 +COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 docs export_fastdebug 1.100 +COMMON_VM_DEBUG_TARGETS=debug debug1 docs export_debug 1.101 + 1.102 +# JDK directory list 1.103 +JDK_DIRS=bin include jre lib demo 1.104 + 1.105 +all: all_product all_fastdebug 1.106 + 1.107 +ifeq ($(JVM_VARIANT_MINIMAL1),true) 1.108 +all_product: productminimal1 1.109 +all_fastdebug: fastdebugminimal1 1.110 +all_debug: debugminimal1 1.111 +endif 1.112 + 1.113 +ifdef BUILD_CLIENT_ONLY 1.114 +all_product: product1 docs export_product 1.115 +all_fastdebug: fastdebug1 docs export_fastdebug 1.116 +all_debug: debug1 docs export_debug 1.117 +else 1.118 +ifeq ($(MACOSX_UNIVERSAL),true) 1.119 +all_product: universal_product 1.120 +all_fastdebug: universal_fastdebug 1.121 +all_debug: universal_debug 1.122 +else 1.123 +all_product: $(COMMON_VM_PRODUCT_TARGETS) 1.124 +all_fastdebug: $(COMMON_VM_FASTDEBUG_TARGETS) 1.125 +all_debug: $(COMMON_VM_DEBUG_TARGETS) 1.126 +endif 1.127 +endif 1.128 + 1.129 +all_optimized: optimized optimized1 docs export_optimized 1.130 + 1.131 +allzero: all_productzero all_fastdebugzero 1.132 +all_productzero: productzero docs export_product 1.133 +all_fastdebugzero: fastdebugzero docs export_fastdebug 1.134 +all_debugzero: debugzero docs export_debug 1.135 +all_optimizedzero: optimizedzero docs export_optimized 1.136 + 1.137 +allshark: all_productshark all_fastdebugshark 1.138 +all_productshark: productshark docs export_product 1.139 +all_fastdebugshark: fastdebugshark docs export_fastdebug 1.140 +all_debugshark: debugshark docs export_debug 1.141 +all_optimizedshark: optimizedshark docs export_optimized 1.142 + 1.143 +allcore: all_productcore all_fastdebugcore 1.144 +all_productcore: productcore docs export_product 1.145 +all_fastdebugcore: fastdebugcore docs export_fastdebug 1.146 +all_debugcore: debugcore docs export_debug 1.147 +all_optimizedcore: optimizedcore docs export_optimized 1.148 + 1.149 +# Do everything 1.150 +world: all create_jdk 1.151 + 1.152 +# Build or export docs 1.153 +docs: 1.154 +ifeq ($(OSNAME),windows) 1.155 + @$(ECHO) "No docs ($(VM_TARGET)) for windows" 1.156 +else 1.157 +# We specify 'BUILD_FLAVOR=product' so that the proper 1.158 +# ENABLE_FULL_DEBUG_SYMBOLS value is used. 1.159 + $(CD) $(OUTPUTDIR); \ 1.160 + $(MAKE) -f $(ABS_OS_MAKEFILE) \ 1.161 + $(MAKE_ARGS) BUILD_FLAVOR=product docs 1.162 +endif 1.163 + 1.164 +# Output directories 1.165 +C1_DIR =$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 1.166 +C2_DIR =$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 1.167 +CORE_DIR =$(OUTPUTDIR)/$(VM_PLATFORM)_core 1.168 +MINIMAL1_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_minimal1 1.169 +ZERO_DIR =$(OUTPUTDIR)/$(VM_PLATFORM)_zero 1.170 +SHARK_DIR =$(OUTPUTDIR)/$(VM_PLATFORM)_shark 1.171 + 1.172 +# Build variation of hotspot 1.173 +$(C1_VM_TARGETS): 1.174 + $(CD) $(GAMMADIR)/make; \ 1.175 + $(MAKE) BUILD_DIR=$(C1_DIR) BUILD_FLAVOR=$(@:%1=%) VM_TARGET=$@ generic_build1 $(ALT_OUT) 1.176 + 1.177 +$(C2_VM_TARGETS): 1.178 + $(CD) $(GAMMADIR)/make; \ 1.179 + $(MAKE) BUILD_DIR=$(C2_DIR) BUILD_FLAVOR=$@ VM_TARGET=$@ generic_build2 $(ALT_OUT) 1.180 + 1.181 +$(CORE_VM_TARGETS): 1.182 + $(CD) $(GAMMADIR)/make; \ 1.183 + $(MAKE) BUILD_DIR=$(CORE_DIR) BUILD_FLAVOR=$(@:%core=%) VM_TARGET=$@ generic_buildcore $(ALT_OUT) 1.184 + 1.185 +$(ZERO_VM_TARGETS): 1.186 + $(CD) $(GAMMADIR)/make; \ 1.187 + $(MAKE) BUILD_DIR=$(ZERO_DIR) BUILD_FLAVOR=$(@:%zero=%) VM_TARGET=$@ generic_buildzero $(ALT_OUT) 1.188 + 1.189 +$(SHARK_VM_TARGETS): 1.190 + $(CD) $(GAMMADIR)/make; \ 1.191 + $(MAKE) BUILD_DIR=$(SHARK_DIR) BUILD_FLAVOR=$(@:%shark=%) VM_TARGET=$@ generic_buildshark $(ALT_OUT) 1.192 + 1.193 +$(MINIMAL1_VM_TARGETS): 1.194 + $(CD) $(GAMMADIR)/make; \ 1.195 + $(MAKE) BUILD_DIR=$(MINIMAL1_DIR) BUILD_FLAVOR=$(@:%minimal1=%) VM_TARGET=$@ generic_buildminimal1 $(ALT_OUT) 1.196 + 1.197 +# Install hotspot script in build directory 1.198 +HOTSPOT_SCRIPT=$(BUILD_DIR)/$(BUILD_FLAVOR)/hotspot 1.199 +$(HOTSPOT_SCRIPT): $(GAMMADIR)/make/hotspot.script 1.200 + $(QUIETLY) $(MKDIR) -p $(BUILD_DIR)/$(BUILD_FLAVOR) 1.201 + $(QUIETLY) cat $< | sed -e 's|@@LIBARCH@@|$(LIBARCH)|g' | sed -e 's|@@JDK_IMPORT_PATH@@|$(JDK_IMPORT_PATH)|g' > $@ 1.202 + $(QUIETLY) chmod +x $@ 1.203 + 1.204 +# Build compiler1 (client) rule, different for platforms 1.205 +generic_build1: $(HOTSPOT_SCRIPT) 1.206 + $(MKDIR) -p $(OUTPUTDIR) 1.207 +ifeq ($(OSNAME),windows) 1.208 + ifeq ($(ARCH_DATA_MODEL), 32) 1.209 + $(CD) $(OUTPUTDIR); \ 1.210 + $(NMAKE) -f $(ABS_OS_MAKEFILE) \ 1.211 + Variant=compiler1 \ 1.212 + WorkSpace=$(ABS_GAMMADIR) \ 1.213 + BootStrapDir=$(ABS_BOOTDIR) \ 1.214 + BuildUser=$(USERNAME) \ 1.215 + $(MAKE_ARGS) $(VM_TARGET:%1=%) 1.216 + else 1.217 + @$(ECHO) "No compiler1 ($(VM_TARGET)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" 1.218 + endif 1.219 +else 1.220 + ifeq ($(ARCH_DATA_MODEL), 32) 1.221 + $(CD) $(OUTPUTDIR); \ 1.222 + $(MAKE) -f $(ABS_OS_MAKEFILE) \ 1.223 + $(MAKE_ARGS) $(VM_TARGET) 1.224 + else 1.225 + @$(ECHO) "No compiler1 ($(VM_TARGET)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" 1.226 + endif 1.227 +endif 1.228 + 1.229 +# Build compiler2 (server) rule, different for platforms 1.230 +generic_build2: $(HOTSPOT_SCRIPT) 1.231 + $(MKDIR) -p $(OUTPUTDIR) 1.232 +ifeq ($(OSNAME),windows) 1.233 + $(CD) $(OUTPUTDIR); \ 1.234 + $(NMAKE) -f $(ABS_OS_MAKEFILE) \ 1.235 + Variant=compiler2 \ 1.236 + WorkSpace=$(ABS_GAMMADIR) \ 1.237 + BootStrapDir=$(ABS_BOOTDIR) \ 1.238 + BuildUser=$(USERNAME) \ 1.239 + $(MAKE_ARGS) $(VM_TARGET) 1.240 +else 1.241 + $(CD) $(OUTPUTDIR); \ 1.242 + $(MAKE) -f $(ABS_OS_MAKEFILE) \ 1.243 + $(MAKE_ARGS) $(VM_TARGET) 1.244 +endif 1.245 + 1.246 +generic_buildcore: $(HOTSPOT_SCRIPT) 1.247 +ifeq ($(HS_ARCH),ppc) 1.248 + ifeq ($(ARCH_DATA_MODEL),64) 1.249 + $(MKDIR) -p $(OUTPUTDIR) 1.250 + $(CD) $(OUTPUTDIR); \ 1.251 + $(MAKE) -f $(ABS_OS_MAKEFILE) \ 1.252 + $(MAKE_ARGS) $(VM_TARGET) 1.253 + else 1.254 + @$(ECHO) "No ($(VM_TARGET)) for ppc ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" 1.255 + endif 1.256 +else 1.257 + @$(ECHO) "No ($(VM_TARGET)) for $(HS_ARCH)" 1.258 +endif 1.259 + 1.260 +generic_buildzero: $(HOTSPOT_SCRIPT) 1.261 + $(MKDIR) -p $(OUTPUTDIR) 1.262 + $(CD) $(OUTPUTDIR); \ 1.263 + $(MAKE) -f $(ABS_OS_MAKEFILE) \ 1.264 + $(MAKE_ARGS) $(VM_TARGET) 1.265 + 1.266 +generic_buildshark: $(HOTSPOT_SCRIPT) 1.267 + $(MKDIR) -p $(OUTPUTDIR) 1.268 + $(CD) $(OUTPUTDIR); \ 1.269 + $(MAKE) -f $(ABS_OS_MAKEFILE) \ 1.270 + $(MAKE_ARGS) $(VM_TARGET) 1.271 + 1.272 +generic_buildminimal1: $(HOTSPOT_SCRIPT) 1.273 +ifeq ($(JVM_VARIANT_MINIMAL1),true) 1.274 + $(MKDIR) -p $(OUTPUTDIR) 1.275 + ifeq ($(ARCH_DATA_MODEL), 32) 1.276 + ifeq ($(OSNAME),windows) 1.277 + $(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" ; 1.278 + else 1.279 + ifeq ($(OSNAME),solaris) 1.280 + $(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" ; 1.281 + else 1.282 + $(CD) $(OUTPUTDIR); \ 1.283 + $(MAKE) -f $(ABS_OS_MAKEFILE) $(MAKE_ARGS) $(VM_TARGET) ; 1.284 + endif 1.285 + endif 1.286 + else 1.287 + @$(ECHO) "No ($(VM_TARGET)) for $(OSNAME) ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" 1.288 + endif 1.289 +else 1.290 + @$(ECHO) "Error: trying to build a minimal target but JVM_VARIANT_MINIMAL1 is not true." 1.291 +endif 1.292 + 1.293 +# Export file rule 1.294 +generic_export: $(EXPORT_LIST) 1.295 + 1.296 +export_product: 1.297 + $(MAKE) BUILD_FLAVOR=$(@:export_%=%) generic_export 1.298 +export_fastdebug: 1.299 + $(MAKE) BUILD_FLAVOR=$(@:export_%=%) EXPORT_SUBDIR=/$(@:export_%=%) generic_export 1.300 +export_debug: 1.301 + $(MAKE) BUILD_FLAVOR=$(@:export_%=%) EXPORT_SUBDIR=/$(@:export_%=%) generic_export 1.302 +export_optimized: 1.303 + $(MAKE) BUILD_FLAVOR=$(@:export_%=%) EXPORT_SUBDIR=/$(@:export_%=%) generic_export 1.304 + 1.305 +export_product_jdk:: 1.306 + $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) generic_export 1.307 +export_optimized_jdk:: 1.308 + $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) generic_export 1.309 +export_fastdebug_jdk:: 1.310 + $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) generic_export 1.311 +export_debug_jdk:: 1.312 + $(MAKE) BUILD_FLAVOR=$(@:export_%_jdk=%) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/$(@:export_%_jdk=%) generic_export 1.313 + 1.314 +# Export file copy rules 1.315 +XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt 1.316 +DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs 1.317 +C1_BUILD_DIR =$(C1_DIR)/$(BUILD_FLAVOR) 1.318 +C2_BUILD_DIR =$(C2_DIR)/$(BUILD_FLAVOR) 1.319 +CORE_BUILD_DIR =$(CORE_DIR)/$(BUILD_FLAVOR) 1.320 +MINIMAL1_BUILD_DIR=$(MINIMAL1_DIR)/$(BUILD_FLAVOR) 1.321 +ZERO_BUILD_DIR =$(ZERO_DIR)/$(BUILD_FLAVOR) 1.322 +SHARK_BUILD_DIR =$(SHARK_DIR)/$(BUILD_FLAVOR) 1.323 + 1.324 +# Server (C2) 1.325 +ifeq ($(JVM_VARIANT_SERVER), true) 1.326 +# Common 1.327 +$(EXPORT_SERVER_DIR)/%.diz: $(C2_BUILD_DIR)/%.diz 1.328 + $(install-file) 1.329 +$(EXPORT_LIB_DIR)/%.jar: $(C2_BUILD_DIR)/../generated/%.jar 1.330 + $(install-file) 1.331 +$(EXPORT_INCLUDE_DIR)/%: $(C2_BUILD_DIR)/../generated/jvmtifiles/% 1.332 + $(install-file) 1.333 +# Windows 1.334 +$(EXPORT_SERVER_DIR)/%.dll: $(C2_BUILD_DIR)/%.dll 1.335 + $(install-file) 1.336 +$(EXPORT_SERVER_DIR)/%.pdb: $(C2_BUILD_DIR)/%.pdb 1.337 + $(install-file) 1.338 +$(EXPORT_SERVER_DIR)/%.map: $(C2_BUILD_DIR)/%.map 1.339 + $(install-file) 1.340 +$(EXPORT_LIB_DIR)/%.lib: $(C2_BUILD_DIR)/%.lib 1.341 + $(install-file) 1.342 +$(EXPORT_JRE_BIN_DIR)/%.diz: $(C2_BUILD_DIR)/%.diz 1.343 + $(install-file) 1.344 +$(EXPORT_JRE_BIN_DIR)/%.dll: $(C2_BUILD_DIR)/%.dll 1.345 + $(install-file) 1.346 +$(EXPORT_JRE_BIN_DIR)/%.pdb: $(C2_BUILD_DIR)/%.pdb 1.347 + $(install-file) 1.348 +$(EXPORT_JRE_BIN_DIR)/%.map: $(C2_BUILD_DIR)/%.map 1.349 + $(install-file) 1.350 +# Unix 1.351 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(C2_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.352 + $(install-file) 1.353 +$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(C2_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.354 + $(install-file) 1.355 +$(EXPORT_SERVER_DIR)/64/%.$(LIBRARY_SUFFIX): $(C2_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.356 + $(install-file) 1.357 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(C2_BUILD_DIR)/%.debuginfo 1.358 + $(install-file) 1.359 +$(EXPORT_SERVER_DIR)/%.debuginfo: $(C2_BUILD_DIR)/%.debuginfo 1.360 + $(install-file) 1.361 +$(EXPORT_SERVER_DIR)/64/%.debuginfo: $(C2_BUILD_DIR)/%.debuginfo 1.362 + $(install-file) 1.363 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(C2_BUILD_DIR)/%.diz 1.364 + $(install-file) 1.365 +$(EXPORT_SERVER_DIR)/64/%.diz: $(C2_BUILD_DIR)/%.diz 1.366 + $(install-file) 1.367 +# MacOS X 1.368 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.dSYM: $(C2_BUILD_DIR)/%.dSYM 1.369 + $(install-dir) 1.370 +$(EXPORT_SERVER_DIR)/%.dSYM: $(C2_BUILD_DIR)/%.dSYM 1.371 + $(install-dir) 1.372 +endif 1.373 + 1.374 +# Client (C1) 1.375 +ifeq ($(JVM_VARIANT_CLIENT), true) 1.376 +# Common 1.377 +$(EXPORT_CLIENT_DIR)/%.diz: $(C1_BUILD_DIR)/%.diz 1.378 + $(install-file) 1.379 +$(EXPORT_LIB_DIR)/%.jar: $(C1_BUILD_DIR)/../generated/%.jar 1.380 + $(install-file) 1.381 +$(EXPORT_INCLUDE_DIR)/%: $(C1_BUILD_DIR)/../generated/jvmtifiles/% 1.382 + $(install-file) 1.383 +# Windows 1.384 +$(EXPORT_CLIENT_DIR)/%.dll: $(C1_BUILD_DIR)/%.dll 1.385 + $(install-file) 1.386 +$(EXPORT_CLIENT_DIR)/%.pdb: $(C1_BUILD_DIR)/%.pdb 1.387 + $(install-file) 1.388 +$(EXPORT_CLIENT_DIR)/%.map: $(C1_BUILD_DIR)/%.map 1.389 + $(install-file) 1.390 +$(EXPORT_LIB_DIR)/%.lib: $(C1_BUILD_DIR)/%.lib 1.391 + $(install-file) 1.392 +$(EXPORT_JRE_BIN_DIR)/%.diz: $(C1_BUILD_DIR)/%.diz 1.393 + $(install-file) 1.394 +$(EXPORT_JRE_BIN_DIR)/%.dll: $(C1_BUILD_DIR)/%.dll 1.395 + $(install-file) 1.396 +$(EXPORT_JRE_BIN_DIR)/%.pdb: $(C1_BUILD_DIR)/%.pdb 1.397 + $(install-file) 1.398 +$(EXPORT_JRE_BIN_DIR)/%.map: $(C1_BUILD_DIR)/%.map 1.399 + $(install-file) 1.400 +# Unix 1.401 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(C1_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.402 + $(install-file) 1.403 +$(EXPORT_CLIENT_DIR)/%.$(LIBRARY_SUFFIX): $(C1_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.404 + $(install-file) 1.405 +$(EXPORT_CLIENT_DIR)/64/%.$(LIBRARY_SUFFIX): $(C1_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.406 + $(install-file) 1.407 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(C1_BUILD_DIR)/%.debuginfo 1.408 + $(install-file) 1.409 +$(EXPORT_CLIENT_DIR)/%.debuginfo: $(C1_BUILD_DIR)/%.debuginfo 1.410 + $(install-file) 1.411 +$(EXPORT_CLIENT_DIR)/64/%.debuginfo: $(C1_BUILD_DIR)/%.debuginfo 1.412 + $(install-file) 1.413 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(C1_BUILD_DIR)/%.diz 1.414 + $(install-file) 1.415 +$(EXPORT_CLIENT_DIR)/64/%.diz: $(C1_BUILD_DIR)/%.diz 1.416 + $(install-file) 1.417 +# MacOS X 1.418 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.dSYM: $(C1_BUILD_DIR)/%.dSYM 1.419 + $(install-dir) 1.420 +$(EXPORT_CLIENT_DIR)/%.dSYM: $(C1_BUILD_DIR)/%.dSYM 1.421 + $(install-dir) 1.422 +endif 1.423 + 1.424 +# Minimal1 1.425 +ifeq ($(JVM_VARIANT_MINIMAL1), true) 1.426 +# Common 1.427 +$(EXPORT_MINIMAL_DIR)/%.diz: $(MINIMAL1_BUILD_DIR)/%.diz 1.428 + $(install-file) 1.429 +$(EXPORT_LIB_DIR)/%.jar: $(MINIMAL1_BUILD_DIR)/../generated/%.jar 1.430 + $(install-file) 1.431 +$(EXPORT_INCLUDE_DIR)/%: $(MINIMAL1_BUILD_DIR)/../generated/jvmtifiles/% 1.432 + $(install-file) 1.433 +# Windows 1.434 +$(EXPORT_MINIMAL_DIR)/%.dll: $(MINIMAL1_BUILD_DIR)/%.dll 1.435 + $(install-file) 1.436 +$(EXPORT_MINIMAL_DIR)/%.pdb: $(MINIMAL1_BUILD_DIR)/%.pdb 1.437 + $(install-file) 1.438 +$(EXPORT_MINIMAL_DIR)/%.map: $(MINIMAL1_BUILD_DIR)/%.map 1.439 + $(install-file) 1.440 +$(EXPORT_LIB_DIR)/%.lib: $(MINIMAL1_BUILD_DIR)/%.lib 1.441 + $(install-file) 1.442 +$(EXPORT_JRE_BIN_DIR)/%.diz: $(MINIMAL1_BUILD_DIR)/%.diz 1.443 + $(install-file) 1.444 +$(EXPORT_JRE_BIN_DIR)/%.dll: $(MINIMAL1_BUILD_DIR)/%.dll 1.445 + $(install-file) 1.446 +$(EXPORT_JRE_BIN_DIR)/%.pdb: $(MINIMAL1_BUILD_DIR)/%.pdb 1.447 + $(install-file) 1.448 +$(EXPORT_JRE_BIN_DIR)/%.map: $(MINIMAL1_BUILD_DIR)/%.map 1.449 + $(install-file) 1.450 +# Unix 1.451 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(MINIMAL1_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.452 + $(install-file) 1.453 +$(EXPORT_MINIMAL_DIR)/%.$(LIBRARY_SUFFIX): $(MINIMAL1_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.454 + $(install-file) 1.455 +$(EXPORT_MINIMAL_DIR)/64/%.$(LIBRARY_SUFFIX): $(MINIMAL1_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.456 + $(install-file) 1.457 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(MINIMAL1_BUILD_DIR)/%.debuginfo 1.458 + $(install-file) 1.459 +$(EXPORT_MINIMAL_DIR)/%.debuginfo: $(MINIMAL1_BUILD_DIR)/%.debuginfo 1.460 + $(install-file) 1.461 +$(EXPORT_MINIMAL_DIR)/64/%.debuginfo: $(MINIMAL1_BUILD_DIR)/%.debuginfo 1.462 + $(install-file) 1.463 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(MINIMAL1_BUILD_DIR)/%.diz 1.464 + $(install-file) 1.465 +$(EXPORT_MINIMAL_DIR)/64/%.diz: $(MINIMAL1_BUILD_DIR)/%.diz 1.466 + $(install-file) 1.467 +# MacOS X does not support Minimal1 config 1.468 +endif 1.469 + 1.470 +# Zero 1.471 +ifeq ($(JVM_VARIANT_ZERO), true) 1.472 +# Common 1.473 +$(EXPORT_LIB_DIR)/%.jar: $(ZERO_BUILD_DIR)/../generated/%.jar 1.474 + $(install-file) 1.475 +$(EXPORT_INCLUDE_DIR)/%: $(ZERO_BUILD_DIR)/../generated/jvmtifiles/% 1.476 + $(install-file) 1.477 +# Unix 1.478 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.479 + $(install-file) 1.480 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(ZERO_BUILD_DIR)/%.debuginfo 1.481 + $(install-file) 1.482 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(ZERO_BUILD_DIR)/%.diz 1.483 + $(install-file) 1.484 +$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.485 + $(install-file) 1.486 +$(EXPORT_SERVER_DIR)/%.debuginfo: $(ZERO_BUILD_DIR)/%.debuginfo 1.487 + $(install-file) 1.488 +$(EXPORT_SERVER_DIR)/%.diz: $(ZERO_BUILD_DIR)/%.diz 1.489 + $(install-file) 1.490 +# MacOS X 1.491 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.dSYM: $(ZERO_BUILD_DIR)/%.dSYM 1.492 + $(install-dir) 1.493 +$(EXPORT_SERVER_DIR)/%.dSYM: $(ZERO_BUILD_DIR)/%.dSYM 1.494 + $(install-dir) 1.495 +endif 1.496 + 1.497 +# Core 1.498 +ifeq ($(JVM_VARIANT_CORE), true) 1.499 +# Common 1.500 +$(EXPORT_LIB_DIR)/%.jar: $(CORE_BUILD_DIR)/../generated/%.jar 1.501 + $(install-file) 1.502 +$(EXPORT_INCLUDE_DIR)/%: $(CORE_BUILD_DIR)/../generated/jvmtifiles/% 1.503 + $(install-file) 1.504 +# Unix 1.505 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(CORE_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.506 + $(install-file) 1.507 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(CORE_BUILD_DIR)/%.debuginfo 1.508 + $(install-file) 1.509 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(CORE_BUILD_DIR)/%.diz 1.510 + $(install-file) 1.511 +$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(CORE_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.512 + $(install-file) 1.513 +$(EXPORT_SERVER_DIR)/%.debuginfo: $(CORE_BUILD_DIR)/%.debuginfo 1.514 + $(install-file) 1.515 +$(EXPORT_SERVER_DIR)/%.diz: $(CORE_BUILD_DIR)/%.diz 1.516 + $(install-file) 1.517 +endif 1.518 + 1.519 +# Shark 1.520 +ifeq ($(JVM_VARIANT_ZEROSHARK), true) 1.521 +# Common 1.522 +$(EXPORT_LIB_DIR)/%.jar: $(SHARK_BUILD_DIR)/../generated/%.jar 1.523 + $(install-file) 1.524 +$(EXPORT_INCLUDE_DIR)/%: $(SHARK_BUILD_DIR)/../generated/jvmtifiles/% 1.525 + $(install-file) 1.526 +# Unix 1.527 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(SHARK_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.528 + $(install-file) 1.529 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo): $(SHARK_BUILD_DIR)/%.debuginfo 1.530 + $(install-file) 1.531 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(SHARK_BUILD_DIR)/%.diz 1.532 + $(install-file) 1.533 +$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(SHARK_BUILD_DIR)/%.$(LIBRARY_SUFFIX) 1.534 + $(install-file) 1.535 +$(EXPORT_SERVER_DIR)/%.debuginfo: $(SHARK_BUILD_DIR)/%.debuginfo 1.536 + $(install-file) 1.537 +$(EXPORT_SERVER_DIR)/%.diz: $(SHARK_BUILD_DIR)/%.diz 1.538 + $(install-file) 1.539 +# MacOS X 1.540 +$(EXPORT_JRE_LIB_ARCH_DIR)/%.dSYM: $(SHARK_BUILD_DIR)/%.dSYM 1.541 + $(install-dir) 1.542 +$(EXPORT_SERVER_DIR)/%.dSYM: $(SHARK_BUILD_DIR)/%.dSYM 1.543 + $(install-dir) 1.544 +endif 1.545 + 1.546 +$(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/code/% 1.547 + $(install-file) 1.548 + 1.549 +$(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/prims/% 1.550 + $(install-file) 1.551 + 1.552 +HS_JNI_ARCH_SRC=$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(HS_ARCH)/vm/jni_$(HS_ARCH).h) 1.553 +$(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h: $(HS_JNI_ARCH_SRC) 1.554 + $(install-file) 1.555 + 1.556 +$(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/services/% 1.557 + $(install-file) 1.558 + 1.559 +JFR_EXISTS=$(shell if [ -d $(HS_ALT_SRC) ]; then echo 1; else echo 0; fi) 1.560 +# export jfr.h 1.561 +ifeq ($JFR_EXISTS,1) 1.562 +$(EXPORT_INCLUDE_DIR)/%: $(HS_ALT_SRC)/share/vm/jfr/% 1.563 + $(install-file) 1.564 +else 1.565 +$(EXPORT_INCLUDE_DIR)/jfr.h: 1.566 +endif 1.567 + 1.568 +# Doc files (jvmti.html) 1.569 +$(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/% 1.570 + $(install-file) 1.571 + 1.572 +# Xusage file 1.573 +$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_MINIMAL_DIR)/Xusage.txt: $(XUSAGE) 1.574 + $(prep-target) 1.575 + $(RM) $@.temp 1.576 + $(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp 1.577 + $(MV) $@.temp $@ 1.578 + 1.579 +# 1.580 +# Clean rules 1.581 +# 1.582 +clobber clean: clean_build clean_export clean_jdk 1.583 +clean_build: 1.584 + $(RM) -r $(C1_DIR) 1.585 + $(RM) -r $(C2_DIR) 1.586 + $(RM) -r $(CORE_DIR) 1.587 + $(RM) -r $(ZERO_DIR) 1.588 + $(RM) -r $(SHARK_DIR) 1.589 + $(RM) -r $(MINIMAL1_DIR) 1.590 +clean_export: 1.591 + $(RM) -r $(EXPORT_PATH) 1.592 +clean_jdk: 1.593 + $(RM) -r $(JDK_IMAGE_DIR) 1.594 + 1.595 +# 1.596 +# Create JDK and place this build into it 1.597 +# 1.598 +create_jdk: copy_jdk update_jdk 1.599 + 1.600 +update_jdk: export_product_jdk export_fastdebug_jdk test_jdk 1.601 + 1.602 +copy_jdk: $(JDK_IMAGE_DIR)/jre/lib/rt.jar 1.603 + 1.604 +$(JDK_IMAGE_DIR)/jre/lib/rt.jar: 1.605 + $(RM) -r $(JDK_IMAGE_DIR) 1.606 + $(MKDIR) -p $(JDK_IMAGE_DIR) 1.607 + ($(CD) $(JDK_IMPORT_PATH) && \ 1.608 + $(TAR) -cf - *) | \ 1.609 + ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -) 1.610 + 1.611 + 1.612 +# Testing the built JVM 1.613 +RUN_JVM=JAVA_HOME=$(JDK_IMPORT_PATH) $(JDK_IMPORT_PATH)/bin/java -d$(ARCH_DATA_MODEL) -Dsun.java.launcher=gamma 1.614 +generic_test: 1.615 + @$(ECHO) "Running with: $(ALTJVM_DIR)" 1.616 + @$(RUN_JVM) -XXaltjvm=$(ALTJVM_DIR) -Xinternalversion 1.617 + @$(RUN_JVM) -XXaltjvm=$(ALTJVM_DIR) -showversion -help 1.618 + 1.619 +# C2 test targets 1.620 +test_product test_optimized test_fastdebug test_debug: 1.621 + @$(MAKE) generic_test ALTJVM_DIR="$(C2_DIR)/$(@:test_%=%)" 1.622 + 1.623 +# C1 test targets 1.624 +test_product1 test_optimized1 test_fastdebug1 test_debug1: 1.625 + ifeq ($(ARCH_DATA_MODEL), 32) 1.626 + @$(MAKE) generic_test ALTJVM_DIR="$(C1_DIR)/$(@:test_%1=%)" 1.627 + else 1.628 + @$(ECHO) "No compiler1 ($(@:test_%=%)) for ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)" 1.629 + endif 1.630 + 1.631 +# Zero test targets 1.632 +test_productzero test_optimizedzero test_fastdebugzero test_debugzero: 1.633 + @$(MAKE) generic_test ALTJVM_DIR="$(ZERO_DIR)/$(@:test_%zero=%)" 1.634 + 1.635 +# Shark test targets 1.636 +test_productshark test_optimizedshark test_fastdebugshark test_debugshark: 1.637 + @$(MAKE) generic_test ALTJVM_DIR="$(SHARK_DIR)/$(@:test_%shark=%)" 1.638 + 1.639 +# Minimal1 test targets 1.640 +test_productminimal1 test_optimizedminimal1 test_fastdebugminimal1 test_debugminimal1: 1.641 + @$(MAKE) generic_test ALTJVM_DIR="$(MINIMAL1_DIR)/$(@:test_%minimal1=%)" 1.642 + 1.643 + 1.644 +test_jdk: 1.645 + ifeq ($(JVM_VARIANT_CLIENT), true) 1.646 + $(JDK_IMAGE_DIR)/bin/java -d$(ARCH_DATA_MODEL) -client -Xinternalversion 1.647 + $(JDK_IMAGE_DIR)/bin/java -d$(ARCH_DATA_MODEL) -client -version 1.648 + endif 1.649 + ifeq ($(findstring true, $(JVM_VARIANT_SERVER)\ 1.650 + $(JVM_VARIANT_ZERO)$(JVM_VARIANT_ZEROSHARK)), true) 1.651 + $(JDK_IMAGE_DIR)/bin/java -d$(ARCH_DATA_MODEL) -server -Xinternalversion 1.652 + $(JDK_IMAGE_DIR)/bin/java -d$(ARCH_DATA_MODEL) -server -version 1.653 + endif 1.654 + 1.655 +copy_product_jdk:: 1.656 + $(RM) -r $(JDK_IMAGE_DIR) 1.657 + $(MKDIR) -p $(JDK_IMAGE_DIR) 1.658 + ($(CD) $(JDK_IMPORT_PATH) && \ 1.659 + $(TAR) -cf - $(JDK_DIRS)) | \ 1.660 + ($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -) 1.661 + 1.662 +copy_fastdebug_jdk:: 1.663 + $(RM) -r $(JDK_IMAGE_DIR)/fastdebug 1.664 + $(MKDIR) -p $(JDK_IMAGE_DIR)/fastdebug 1.665 + if [ -d $(JDK_IMPORT_PATH)/fastdebug ] ; then \ 1.666 + ($(CD) $(JDK_IMPORT_PATH)/fastdebug && \ 1.667 + $(TAR) -cf - $(JDK_DIRS)) | \ 1.668 + ($(CD) $(JDK_IMAGE_DIR)/fastdebug && $(TAR) -xf -) ; \ 1.669 + else \ 1.670 + ($(CD) $(JDK_IMPORT_PATH) && \ 1.671 + $(TAR) -cf - $(JDK_DIRS)) | \ 1.672 + ($(CD) $(JDK_IMAGE_DIR)/fastdebug && $(TAR) -xf -) ; \ 1.673 + fi 1.674 + 1.675 +copy_debug_jdk:: 1.676 + $(RM) -r $(JDK_IMAGE_DIR)/debug 1.677 + $(MKDIR) -p $(JDK_IMAGE_DIR)/debug 1.678 + if [ -d $(JDK_IMPORT_PATH)/debug ] ; then \ 1.679 + ($(CD) $(JDK_IMPORT_PATH)/debug && \ 1.680 + $(TAR) -cf - $(JDK_DIRS)) | \ 1.681 + ($(CD) $(JDK_IMAGE_DIR)/debug && $(TAR) -xf -) ; \ 1.682 + elif [ -d $(JDK_IMPORT_PATH)/fastdebug ] ; then \ 1.683 + ($(CD) $(JDK_IMPORT_PATH)/fastdebug && \ 1.684 + $(TAR) -cf - $(JDK_DIRS)) | \ 1.685 + ($(CD) $(JDK_IMAGE_DIR)/debug && $(TAR) -xf -) ; \ 1.686 + else \ 1.687 + ($(CD) $(JDK_IMPORT_PATH) && \ 1.688 + $(TAR) -cf - $(JDK_DIRS)) | \ 1.689 + ($(CD) $(JDK_IMAGE_DIR)/debug && $(TAR) -xf -) ; \ 1.690 + fi 1.691 + 1.692 +# 1.693 +# Check target 1.694 +# 1.695 +check: variable_check 1.696 + 1.697 +# 1.698 +# Help target 1.699 +# 1.700 +help: intro_help target_help variable_help notes_help examples_help 1.701 + 1.702 +# Intro help message 1.703 +intro_help: 1.704 + @$(ECHO) \ 1.705 +"Makefile for the Hotspot workspace." 1.706 + @$(ECHO) \ 1.707 +"Default behavior is to build and create an export area for the j2se builds." 1.708 + 1.709 +# Target help 1.710 +target_help: 1.711 + @$(ECHO) "help: This help message" 1.712 + @$(ECHO) "all: Same as: all_product all_fastdebug" 1.713 + @$(ECHO) "world: Same as: all create_jdk" 1.714 + @$(ECHO) "all_product: Same as: product product1 export_product" 1.715 + @$(ECHO) "all_fastdebug: Same as: fastdebug fastdebug1 export_fastdebug" 1.716 + @$(ECHO) "all_debug: Same as: debug debug1 export_debug" 1.717 + @$(ECHO) "all_optimized: Same as: optimized optimized1 export_optimized" 1.718 + @$(ECHO) "clean: Clean all areas" 1.719 + @$(ECHO) "export_product: Export product files to EXPORT_PATH" 1.720 + @$(ECHO) "export_fastdebug: Export fastdebug files to EXPORT_PATH" 1.721 + @$(ECHO) "export_debug: Export debug files to EXPORT_PATH" 1.722 + @$(ECHO) "export_optimized: Export optimized files to EXPORT_PATH" 1.723 + @$(ECHO) "create_jdk: Create JDK image, export all files into it" 1.724 + @$(ECHO) "update_jdk: Update JDK image with fresh exported files" 1.725 + @$(ECHO) " " 1.726 + @$(ECHO) "Other targets are:" 1.727 + @$(ECHO) " $(C1_VM_TARGETS)" 1.728 + @$(ECHO) " $(C2_VM_TARGETS)" 1.729 + @$(ECHO) " $(MINIMAL1_VM_TARGETS)" 1.730 + 1.731 +# Variable help (only common ones used by this workspace) 1.732 +variable_help: variable_help_intro variable_list variable_help_end 1.733 +variable_help_intro: 1.734 + @$(ECHO) "--- Common Variables ---" 1.735 +variable_help_end: 1.736 + @$(ECHO) " " 1.737 + @$(ECHO) "--- Make Arguments ---" 1.738 + @$(ECHO) "MAKE_ARGS=$(MAKE_ARGS)" 1.739 + 1.740 +# One line descriptions for the variables 1.741 +SLASH_JAVA.desc = Root of all build tools, e.g. /java or J: 1.742 +OUTPUTDIR.desc = Output directory, default is build/<osname> 1.743 +BOOTDIR.desc = JDK used to compile agent java source and test with 1.744 +JDK_IMPORT_PATH.desc = Promoted JDK to copy for 'create_jdk' 1.745 +JDK_IMAGE_DIR.desc = Directory to place JDK to copy 1.746 +EXPORT_PATH.desc = Directory to place files to export for JDK build 1.747 + 1.748 +# Make variables to print out (description and value) 1.749 +VARIABLE_PRINTVAL_LIST += \ 1.750 + SLASH_JAVA \ 1.751 + OUTPUTDIR \ 1.752 + BOOTDIR \ 1.753 + JDK_IMPORT_PATH \ 1.754 + JDK_IMAGE_DIR \ 1.755 + EXPORT_PATH 1.756 + 1.757 +# Make variables that should refer to directories that exist 1.758 +VARIABLE_CHECKDIR_LIST += \ 1.759 + SLASH_JAVA \ 1.760 + BOOTDIR \ 1.761 + JDK_IMPORT_PATH 1.762 + 1.763 +# For pattern rules below, so all are treated the same 1.764 +DO_PRINTVAL_LIST=$(VARIABLE_PRINTVAL_LIST:%=%.printval) 1.765 +DO_CHECKDIR_LIST=$(VARIABLE_CHECKDIR_LIST:%=%.checkdir) 1.766 + 1.767 +# Complete variable check 1.768 +variable_check: $(DO_CHECKDIR_LIST) 1.769 +variable_list: $(DO_PRINTVAL_LIST) variable_check 1.770 + 1.771 +# Pattern rule for printing out a variable 1.772 +%.printval: 1.773 + @$(ECHO) " ALT_$* - $($*.desc)" 1.774 + @$(ECHO) " $*=$($*)" 1.775 + 1.776 +# Pattern rule for checking to see if a variable with a directory exists 1.777 +%.checkdir: 1.778 + @if [ ! -d $($*) ] ; then \ 1.779 + $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \ 1.780 + fi 1.781 + 1.782 +# Pattern rule for checking to see if a variable with a file exists 1.783 +%.checkfil: 1.784 + @if [ ! -f $($*) ] ; then \ 1.785 + $(ECHO) "WARNING: $* does not exist, try $(MAKE) sanity"; \ 1.786 + fi 1.787 + 1.788 +# Misc notes on help 1.789 +notes_help: 1.790 + @$(ECHO) \ 1.791 +"--- Notes --- " 1.792 + @$(ECHO) \ 1.793 +"- JDK_IMPORT_PATH must refer to a compatible build, not all past promoted" 1.794 + @$(ECHO) \ 1.795 +" builds or previous release JDK builds will work." 1.796 + @$(ECHO) \ 1.797 +"- The fastest builds have been when the workspace and the BOOTDIR are on" 1.798 + @$(ECHO) \ 1.799 +" local disk." 1.800 + 1.801 +examples_help: 1.802 + @$(ECHO) \ 1.803 +"--- Examples --- " 1.804 + @$(ECHO) \ 1.805 +" $(MAKE) all" 1.806 + @$(ECHO) \ 1.807 +" $(MAKE) world" 1.808 + @$(ECHO) \ 1.809 +" $(MAKE) ALT_BOOTDIR=/opt/java/jdk$(PREVIOUS_JDK_VERSION)" 1.810 + @$(ECHO) \ 1.811 +" $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)" 1.812 + 1.813 +# Universal build support 1.814 +ifeq ($(OS_VENDOR), Darwin) 1.815 +ifeq ($(MACOSX_UNIVERSAL),true) 1.816 +include $(GAMMADIR)/make/$(OSNAME)/makefiles/universal.gmk 1.817 +endif 1.818 +endif 1.819 + 1.820 +# Compatibility for transition to new naming 1.821 +warn_jvmg_deprecated: 1.822 + echo "Warning: The jvmg target has been replaced with debug" 1.823 + echo "Warning: Please update your usage" 1.824 + 1.825 +jvmg: warn_jvmg_deprecated debug 1.826 + 1.827 +jvmg1: warn_jvmg_deprecated debug1 1.828 + 1.829 +jvmgminimal1: warn_jvmg_deprecated debugminimal1 1.830 + 1.831 +jvmgcore: warn_jvmg_deprecated debugcore 1.832 + 1.833 +jvmgzero: warn_jvmg_deprecated debugzero 1.834 + 1.835 +jvmgshark: warn_jvmg_deprecated debugshark 1.836 + 1.837 +# JPRT rule to build this workspace 1.838 +include $(GAMMADIR)/make/jprt.gmk 1.839 + 1.840 +.PHONY: all world clobber clean help $(C1_VM_TARGETS) $(C2_VM_TARGETS) \ 1.841 + $(MINIMAL1_VM_TARGETS) \ 1.842 + generic_build1 generic_build2 generic_buildminimal1 generic_export \ 1.843 + export_product export_fastdebug export_debug export_optimized \ 1.844 + export_jdk_product export_jdk_fastdebug export_jdk_debug \ 1.845 + create_jdk copy_jdk update_jdk test_jdk \ 1.846 + copy_product_jdk copy_fastdebug_jdk copy_debug_jdk \ 1.847 + $(HS_ALT_MAKE)/Makefile.make