spec.gmk.in revision 456:c8d320b48626
1# 2# Copyright (c) 2011, 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# Configured @DATE_WHEN_CONFIGURED@ to build for a @OPENJDK_TARGET_SYSTEM@ system, 27# using 'configure @CONFIGURE_COMMAND_LINE@' 28 29# When calling macros, the spaces between arguments are 30# often semantically important! Sometimes we need to subst 31# spaces and commas, therefore we need the following macros. 32X:= 33SPACE:=$(X) $(X) 34COMMA:=, 35HASH:=\# 36SQUOTE:=' 37#' 38DQUOTE:=" 39#" 40define NEWLINE:= 41endef 42 43 44# Pass along the verbosity setting. 45ifeq (,$(findstring VERBOSE=,$(MAKE))) 46 MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)" 47endif 48 49# No implicit variables or rules! 50ifeq (,$(findstring -R,$(MAKE))) 51 MAKE:=$(MAKE) -R 52endif 53 54# Specify where the spec file is. 55ifeq (,$(findstring SPEC=,$(MAKE))) 56 MAKE:=$(MAKE) SPEC=@SPEC@ 57endif 58 59# Specify where the common include directory for makefiles is. 60ifeq (,$(findstring -I @SRC_ROOT@/common/makefiles,$(MAKE))) 61 MAKE:=$(MAKE) -I @SRC_ROOT@/common/makefiles 62endif 63 64# A self-referential reference to this file. 65SPEC:=@SPEC@ 66 67# The "human readable" name of this configuration 68CONF_NAME:=@CONF_NAME@ 69 70# The built jdk will run in this target system. 71OPENJDK_TARGET_SYSTEM:=@OPENJDK_TARGET_SYSTEM@ 72 73OPENJDK_TARGET_OS:=@OPENJDK_TARGET_OS@ 74OPENJDK_TARGET_OS_FAMILY:=@OPENJDK_TARGET_OS_FAMILY@ 75OPENJDK_TARGET_OS_API:=@OPENJDK_TARGET_OS_API@ 76 77OPENJDK_TARGET_CPU:=@OPENJDK_TARGET_CPU@ 78OPENJDK_TARGET_CPU_ARCH:=@OPENJDK_TARGET_CPU_ARCH@ 79OPENJDK_TARGET_CPU_BITS:=@OPENJDK_TARGET_CPU_BITS@ 80OPENJDK_TARGET_CPU_ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@ 81 82# We are building on this build system. 83# When not cross-compiling, it is the same as the target. 84OPENJDK_BUILD_SYSTEM:=@OPENJDK_BUILD_SYSTEM@ 85 86OPENJDK_BUILD_OS:=@OPENJDK_BUILD_OS@ 87OPENJDK_BUILD_OS_FAMILY:=@OPENJDK_BUILD_OS_FAMILY@ 88OPENJDK_BUILD_OS_API:=@OPENJDK_BUILD_OS_API@ 89 90OPENJDK_BUILD_CPU:=@OPENJDK_BUILD_CPU@ 91OPENJDK_BUILD_CPU_ARCH:=@OPENJDK_BUILD_CPU_ARCH@ 92OPENJDK_BUILD_CPU_BITS:=@OPENJDK_BUILD_CPU_BITS@ 93OPENJDK_BUILD_CPU_ENDIAN:=@OPENJDK_BUILD_CPU_ENDIAN@ 94 95# Legacy OS values for use in release file. 96REQUIRED_OS_NAME:=@REQUIRED_OS_NAME@ 97REQUIRED_OS_VERSION:=@REQUIRED_OS_VERSION@ 98 99# Old name for OPENJDK_TARGET_OS (aix,bsd,hpux,linux,macosx,solaris,windows etc) 100PLATFORM:=@OPENJDK_TARGET_OS@ 101# Old name for OPENJDK_TARGET_CPU, uses i586 and amd64, instead of ia32 and x64. 102ARCH:=@LEGACY_OPENJDK_TARGET_CPU1@ 103# Yet another name for arch used for an extra subdir below the jvm lib. 104# Uses i386 and amd64, instead of ia32 and x64. 105LIBARCH:=@LEGACY_OPENJDK_TARGET_CPU2@ 106# Use to switch between solaris and windows subdirs in the jdk. 107LEGACY_OPENJDK_TARGET_OS_API:=@LEGACY_OPENJDK_TARGET_OS_API@ 108# 32 or 64 bit 109ARCH_DATA_MODEL:=@OPENJDK_TARGET_CPU_BITS@ 110# Legacy setting for building for a 64 bit machine. 111# If yes then this expands to _LP64:=1 112@LP64@ 113ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@ 114@SET_OPENJDK@ 115JIGSAW:=@JIGSAW@ 116LIBM:=-lm 117LIBDL:=@LIBDL@ 118 119# colon or semicolon 120PATH_SEP:=@PATH_SEP@ 121 122# Set special env variables, to be passed to external tools. 123# Used for cygwin setups. 124@SETUPDEVENV@ 125 126# The sys root where standard headers and libraries are found. 127# Usually not needed since the configure script should have 128# taken it into account already when setting CFLAGS et al. 129SYS_ROOT:=@SYS_ROOT@ 130 131# Paths to the source code 132SRC_ROOT:=@SRC_ROOT@ 133ADD_SRC_ROOT:=@ADD_SRC_ROOT@ 134OVERRIDE_SRC_ROOT:=@OVERRIDE_SRC_ROOT@ 135TOPDIR:=@SRC_ROOT@ 136OUTPUT_ROOT:=@OUTPUT_ROOT@ 137JDK_MAKE_SHARED_DIR:=@JDK_TOPDIR@/makefiles/common/shared 138JDK_TOPDIR:=@JDK_TOPDIR@ 139LANGTOOLS_TOPDIR:=@LANGTOOLS_TOPDIR@ 140CORBA_TOPDIR:=@CORBA_TOPDIR@ 141JAXP_TOPDIR:=@JAXP_TOPDIR@ 142JAXWS_TOPDIR:=@JAXWS_TOPDIR@ 143HOTSPOT_TOPDIR:=@HOTSPOT_TOPDIR@ 144COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@ 145 146# Information gathered from the version.numbers file. 147JDK_MAJOR_VERSION:=@JDK_MAJOR_VERSION@ 148JDK_MINOR_VERSION:=@JDK_MINOR_VERSION@ 149JDK_MICRO_VERSION:=@JDK_MICRO_VERSION@ 150JDK_UPDATE_VERSION:=@JDK_UPDATE_VERSION@ 151JDK_BUILD_NUMBER:=@JDK_BUILD_NUMBER@ 152MILESTONE:=@MILESTONE@ 153LAUNCHER_NAME:=@LAUNCHER_NAME@ 154PRODUCT_NAME:=@PRODUCT_NAME@ 155PRODUCT_SUFFIX:=@PRODUCT_SUFFIX@ 156JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@ 157COMPANY_NAME:=@COMPANY_NAME@ 158 159# Different version strings generated from the above information. 160JDK_VERSION:=@JDK_VERSION@ 161RUNTIME_NAME:=@RUNTIME_NAME@ 162FULL_VERSION:=@FULL_VERSION@ 163JRE_RELEASE_VERSION:=@FULL_VERSION@ 164RELEASE:=@RELEASE@ 165COOKED_BUILD_NUMBER:=@COOKED_BUILD_NUMBER@ 166 167# How to compile the code: release, fastdebug or slowdebug 168DEBUG_LEVEL:=@DEBUG_LEVEL@ 169 170# This is the JDK variant to build. 171# The JDK variant is a name for a specific set of modules to be compiled for the JDK. 172JDK_VARIANT:=@JDK_VARIANT@ 173 174# Legacy defines controlling the JDK variant embedded. 175@JAVASE_EMBEDDED@ 176@MINIMIZE_RAM_USAGE@ 177 178# Should we compile support for running with a graphical UI? (ie headful) 179# Should we compile support for running without? (ie headless) 180SUPPORT_HEADFUL:=@SUPPORT_HEADFUL@ 181SUPPORT_HEADLESS:=@SUPPORT_HEADLESS@ 182# Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options. 183@BUILD_HEADLESS@ 184@BUILD_HEADLESS_ONLY@ 185 186# These are the libjvms that we want to build. 187# The java launcher uses the default. 188# The other can be selected by specifying -client -server -kernel -zero or -zeroshark 189# on the java launcher command line. 190JVM_VARIANTS:=@JVM_VARIANTS@ 191JVM_VARIANT_SERVER:=@JVM_VARIANT_SERVER@ 192JVM_VARIANT_CLIENT:=@JVM_VARIANT_CLIENT@ 193JVM_VARIANT_KERNEL:=@JVM_VARIANT_KERNEL@ 194JVM_VARIANT_ZERO:=@JVM_VARIANT_ZERO@ 195JVM_VARIANT_ZEROSHARK:=@JVM_VARIANT_ZEROSHARK@ 196 197# Legacy setting: OPT or DBG 198VARIANT:=@VARIANT@ 199# Legacy setting: true or false 200FASTDEBUG:=@FASTDEBUG@ 201# Legacy setting: debugging the class files? 202DEBUG_CLASSFILES:=@DEBUG_CLASSFILES@ 203# Legacy setting: -debug or -fastdebug 204BUILD_VARIANT_RELEASE:=@BUILD_VARIANT_RELEASE@ 205 206LANGTOOLS_OUTPUTDIR:=@LANGTOOLS_OUTPUTDIR@ 207CORBA_OUTPUTDIR:=@CORBA_OUTPUTDIR@ 208JAXP_OUTPUTDIR:=@JAXP_OUTPUTDIR@ 209JAXWS_OUTPUTDIR:=@JAXWS_OUTPUTDIR@ 210HOTSPOT_OUTPUTDIR:=@HOTSPOT_OUTPUTDIR@ 211 212# This where a working jvm is built. 213# You can run $(JDK_OUTPUTDIR)/bin/java 214# Though the layout of the contents of $(JDK_OUTPUTDIR) is not 215# yet the same as a default installation. 216JDK_OUTPUTDIR:=@OUTPUT_ROOT@/jdk 217 218# When you run "make install" it will create the standardized 219# layout for the jdk and the jre inside the images subdir. 220# Then it will copy the contents of the jdk into the installation 221# directory. 222IMAGES_OUTPUTDIR:=@OUTPUT_ROOT@/images 223 224LANGTOOLS_DIST:=@LANGTOOLS_DIST@ 225CORBA_DIST:=@CORBA_DIST@ 226JAXP_DIST:=@JAXP_DIST@ 227JAXWS_DIST:=@JAXWS_DIST@ 228HOTSPOT_DIST:=@HOTSPOT_DIST@ 229 230# Legacy variables used by Release.gmk 231JDK_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/j2sdk-image 232JRE_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/j2re-image 233 234# Can be /sparcv9 or /amd64 on Solaris 235ISA_DIR:=@LEGACY_OPENJDK_TARGET_CPU3@ 236BINDIR:=$(JDK_OUTPUTDIR)/bin$(ISA_DIR) 237 238# The boot jdk to use 239ALT_BOOTDIR:=@BOOT_JDK@ 240BOOT_JDK:=@BOOT_JDK@ 241BOOT_JDK_JVMARGS:=@BOOT_JDK_JVMARGS@ 242BOOT_RTJAR:=@BOOT_RTJAR@ 243BOOT_TOOLSJAR:=@BOOT_TOOLSJAR@ 244 245# When compiling Java source to be run by the boot jdk 246# use these extra flags, eg -source 6 -target 6 247BOOT_JDK_SOURCETARGET:=@BOOT_JDK_SOURCETARGET@ 248 249# Information about the build system 250NUM_CORES:=@NUM_CORES@ 251# This is used from the jdk build for C/C++ code. 252PARALLEL_COMPILE_JOBS:=@CONCURRENT_BUILD_JOBS@ 253# Store javac server synchronization files here, and 254# the javac server log files. 255JAVAC_SERVERS:=@JAVAC_SERVERS@ 256# Should we use a javac server or not? The javac server gives 257# an enormous performance improvement since it reduces the 258# startup costs of javac and reuses as much as possible of intermediate 259# compilation work. But if we want to compile with a non-Java 260# javac compiler, like gcj. Then we cannot use javac server and 261# this variable is set to false. 262JAVAC_USE_REMOTE:=@JAVAC_USE_REMOTE@ 263# We can block the Javac server to never use more cores than this. 264# This is not for performance reasons, but for memory usage, since each 265# core requires its own JavaCompiler. We might have 64 cores and 4GB 266# of memory, 64 JavaCompilers will currently not fit in a 3GB heap. 267# Since there is no sharing of data between the JavaCompilers. 268JAVAC_SERVER_CORES:=@JAVAC_SERVER_CORES@ 269# Should we use dependency tracking between Java packages? true or false. 270JAVAC_USE_DEPS:=@JAVAC_USE_DEPS@ 271# We can invoke javac: SINGLE_THREADED_BATCH or MULTI_CORE_CONCURRENT 272JAVAC_USE_MODE:=@JAVAC_USE_MODE@ 273# Enable not yet complete sjavac support. 274ENABLE_SJAVAC:=@ENABLE_SJAVAC@ 275 276# The OpenJDK makefiles should be changed to using the standard 277# configure output ..._CFLAGS and ..._LIBS. In the meantime we 278# extract the information here. 279FREETYPE2_LIB_PATH:=@FREETYPE2_LIB_PATH@ 280FREETYPE2_LIBS:=@FREETYPE2_LIBS@ 281FREETYPE2_CFLAGS:=@FREETYPE2_CFLAGS@ 282USING_SYSTEM_FT_LIB=@USING_SYSTEM_FT_LIB@ 283ALT_CUPS_HEADERS_PATH:=$(patsubst -I%,%,$(filter -I%,@CUPS_CFLAGS@)) 284CUPS_CFLAGS:=@CUPS_CFLAGS@ 285 286PACKAGE_PATH=@PACKAGE_PATH@ 287 288# Source file for cacerts 289CACERTS_FILE=@CACERTS_FILE@ 290 291#MOZILLA_HEADERS_PATH:= 292 293# Necessary additional compiler flags to compile X11 294X_CFLAGS:=@X_CFLAGS@ 295X_LIBS:=@X_LIBS@ 296OPENWIN_HOME:=@OPENWIN_HOME@ 297 298# There are two types: CC or CL 299# CC is gcc and others behaving reasonably similar. 300# CL is cl.exe only. 301COMPILER_TYPE:=@COMPILER_TYPE@ 302 303CC_OUT_OPTION:=@CC_OUT_OPTION@ 304EXE_OUT_OPTION:=@EXE_OUT_OPTION@ 305LD_OUT_OPTION:=@LD_OUT_OPTION@ 306AR_OUT_OPTION:=@AR_OUT_OPTION@ 307 308# Flags used for overriding the default opt setting for a C/C++ source file. 309C_O_FLAG_HIGHEST:=@C_O_FLAG_HIGHEST@ 310C_O_FLAG_HI:=@C_O_FLAG_HI@ 311C_O_FLAG_NORM:=@C_O_FLAG_NORM@ 312C_O_FLAG_NONE:=@C_O_FLAG_NONE@ 313CXX_O_FLAG_HIGHEST:=@CXX_O_FLAG_HIGHEST@ 314CXX_O_FLAG_HI:=@CXX_O_FLAG_HI@ 315CXX_O_FLAG_NORM:=@CXX_O_FLAG_NORM@ 316CXX_O_FLAG_NONE:=@CXX_O_FLAG_NONE@ 317 318C_FLAG_DEPS:=@C_FLAG_DEPS@ 319CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@ 320 321# Tools that potentially need to be cross compilation aware. 322CC:=@UNCYGDRIVE@ @CCACHE@ @CC@ 323 324# CFLAGS used to compile the jdk native libraries (C-code) 325CFLAGS_JDKLIB:=@CFLAGS_JDKLIB@ 326CXXFLAGS_JDKLIB:=@CXXFLAGS_JDKLIB@ 327 328# CFLAGS used to compile the jdk native launchers (C-code) 329CFLAGS_JDKEXE:=@CFLAGS_JDKEXE@ 330CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@ 331 332CXX:=@UNCYGDRIVE@ @CCACHE@ @CXX@ 333#CXXFLAGS:=@CXXFLAGS@ 334 335OBJC:=@CCACHE@ @OBJC@ 336#OBJCFLAGS:=@OBJCFLAGS@ 337 338CPP:=@UNCYGDRIVE@ @CPP@ 339#CPPFLAGS:=@CPPFLAGS@ 340 341# The linker can be gcc or ld on posix systems, or link.exe on winapi systems. 342LD:=@UNCYGDRIVE@ @LD@ 343 344# LDFLAGS used to link the jdk native libraries (C-code) 345LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@ 346LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@ 347 348# On some platforms the linker cannot be used to create executables, thus 349# the need for a separate LDEXE command. 350LDEXE:=@UNCYGDRIVE@ @LDEXE@ 351 352# LDFLAGS used to link the jdk native launchers (C-code) 353LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@ 354LDFLAGS_JDKEXE_SUFFIX:=@LDFLAGS_JDKEXE_SUFFIX@ 355 356# Sometimes a different linker is needed for c++ libs 357LDCXX:=@UNCYGDRIVE@ @LDCXX@ 358# The flags for linking libstdc++ linker. 359LIBCXX:=@LIBCXX@ 360 361# Sometimes a different linker is needed for c++ executables 362LDEXECXX:=@UNCYGDRIVE@ @LDEXECXX@ 363 364# If cross compiling, then define CROSS_COMPILE_ARCH:=cpu_name here. 365@DEFINE_CROSS_COMPILE_ARCH@ 366# The HOSTCC should really be named BUILDCC, ie build executable for 367# the build platform. Same as CC when not cross compiling. 368HOSTCC:=@UNCYGDRIVE@ @HOSTCC@ 369HOSTCXX:=@UNCYGDRIVE@ @HOSTCXX@ 370# And of course, the jdk spells HOSTCC as NIO_CC/HOST_CC 371HOST_CC:=@UNCYGDRIVE@ @HOSTCC@ 372NIO_CC:=@UNCYGDRIVE@ @HOSTCC@ 373 374HOST_LD:=@UNCYGDRIVE@ @HOSTLD@ 375 376AS:=@UNCYGDRIVE@ @AS@ 377ASFLAGS:=@ASFLAGS@ 378 379# AR is used to create a static library (is ar in posix, lib.exe in winapi) 380AR:=@UNCYGDRIVE@ @AR@ 381ARFLAGS:=@ARFLAGS@ 382 383NM:=@UNCYGDRIVE@ @NM@ 384STRIP:=@UNCYGDRIVE@ @STRIP@ 385MCS:=@UNCYGDRIVE@ @MCS@ 386 387# Command to create a shared library 388SHARED_LIBRARY_FLAGS:=@SHARED_LIBRARY_FLAGS@ 389 390# Options to linker to specify a mapfile. 391# (Note absence of := assignment, because we do not want to evaluate the macro body here) 392SET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@ 393 394# Options for C/CXX compiler to be used if linking is performed 395# using reorder file 396C_FLAG_REORDER:=@C_FLAG_REORDER@ 397CXX_FLAG_REORDER:=@CXX_FLAG_REORDER@ 398 399# 400# Options for generating debug symbols 401ENABLE_DEBUG_SYMBOLS:=@ENABLE_DEBUG_SYMBOLS@ 402CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@ 403CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@ 404ZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@ 405 406# 407# Compress (or not) jars 408COMPRESS_JARS=@COMPRESS_JARS@ 409 410# Options to linker to specify the library name. 411# (Note absence of := assignment, because we do not want to evaluate the macro body here) 412SET_SHARED_LIBRARY_NAME=@SET_SHARED_LIBRARY_NAME@ 413 414# Set origin using the linker, ie use the relative path to the dependent library to find the dependees. 415# (Note absence of := assignment, because we do not want to evaluate the macro body here) 416SET_SHARED_LIBRARY_ORIGIN=@SET_SHARED_LIBRARY_ORIGIN@ 417 418# Different OS:es have different ways of naming shared libraries. 419# The SHARED_LIBRARY macro takes "verify" as and argument and returns: 420# "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform. 421# (Note absence of := assignment, because we do not want to evaluate the macro body here) 422SHARED_LIBRARY=@SHARED_LIBRARY@ 423STATIC_LIBRARY=@STATIC_LIBRARY@ 424LIBRARY_PREFIX:=@LIBRARY_PREFIX@ 425SHARED_LIBRARY_SUFFIX:=@SHARED_LIBRARY_SUFFIX@ 426STATIC_LIBRARY_SUFFIX:=@STATIC_LIBRARY_SUFFIX@ 427EXE_SUFFIX:=@EXE_SUFFIX@ 428OBJ_SUFFIX:=@OBJ_SUFFIX@ 429 430POST_STRIP_CMD:=@POST_STRIP_CMD@ 431POST_MCS_CMD:=@POST_MCS_CMD@ 432 433JAVA_FLAGS:=@BOOT_JDK_JVMARGS@ 434 435JAVA=@UNCYGDRIVE@ @JAVA@ $(JAVA_FLAGS) 436 437JAVAC:=@UNCYGDRIVE@ @JAVAC@ 438JAVAC_FLAGS:=@JAVAC_FLAGS@ 439 440JAVAH:=@UNCYGDRIVE@ @JAVAH@ 441 442JAR:=@UNCYGDRIVE@ @JAR@ 443 444RMIC:=@UNCYGDRIVE@ @RMIC@ 445 446NATIVE2ASCII:=@UNCYGDRIVE@ @NATIVE2ASCII@ 447 448BOOT_JAR_CMD:=@UNCYGDRIVE@ @JAR@ 449BOOT_JAR_JFLAGS:= 450 451# Base flags for RC 452# Guarding this against resetting value. Legacy make files include spec multiple 453# times. 454ifndef RC_FLAGS 455RC_FLAGS:=@RC_FLAGS@ 456endif 457 458# A specific java binary with specific options can be used to run 459# the long running background javac server and other long running tasks. 460SERVER_JAVA:=@UNCYGDRIVE@ @SERVER_JAVA@ 461 462# Tools adhering to a minimal and common standard of posix compliance. 463AWK:=@AWK@ 464CAT:=@CAT@ 465CCACHE:=@CCACHE@ 466# CD is going away, but remains to cater for legacy makefiles. 467CD:=cd 468CHMOD:=@CHMOD@ 469CP:=@CP@ 470CPIO:=@CPIO@ 471CUT:=@CUT@ 472DATE:=@DATE@ 473DF:=@DF@ 474DIFF:=@DIFF@ 475FIND:=@FIND@ 476FIND_DELETE:=@FIND_DELETE@ 477ECHO:=@ECHO@ 478EGREP:=@EGREP@ 479FGREP:=@FGREP@ 480GREP:=@GREP@ 481HEAD:=@HEAD@ 482LS:=@LS@ 483LN:=@LN@ 484MKDIR:=@MKDIR@ 485MV:=@MV@ 486NAWK:=@NAWK@ 487PRINTF:=@PRINTF@ 488PWD:=@THEPWDCMD@ 489RM:=@RM@ 490SED:=@SED@ 491SH:=@SH@ 492SORT:=@SORT@ 493TAR:=@TAR@ 494TAIL:=@TAIL@ 495TEE:=@TEE@ 496TR:=@TR@ 497TOUCH:=@TOUCH@ 498WC:=@WC@ 499XARGS:=@XARGS@ 500ZIPEXE:=@ZIP@ 501ZIP:=@ZIP@ 502UNZIP:=@UNZIP@ 503MT:=@UNCYGDRIVE@ @MT@ 504RC:=@UNCYGDRIVE@ @RC@ 505DUMPBIN:=@UNCYGDRIVE@ @DUMPBIN@ 506CYGPATH:=@CYGPATH@ 507LDD:=@LDD@ 508OTOOL:=@OTOOL@ 509READELF:=@READELF@ 510EXPR:=@EXPR@ 511FILE:=@FILE@ 512HG:=@HG@ 513OBJCOPY:=@OBJCOPY@ 514 515UNCYGDRIVE:=@UNCYGDRIVE@ 516 517# Where the build output is stored for your convenience. 518BUILD_LOG:=@BUILD_LOG@ 519BUILD_LOG_PREVIOUS:=@BUILD_LOG_PREVIOUS@ 520BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@ 521 522# Build setup 523ENABLE_DOCS:=@ENABLE_DOCS@ 524GENERATE_DOCS:=@ENABLE_DOCS@ 525DISABLE_NIMBUS:=@DISABLE_NIMBUS@ 526ENABLE_JFR=@ENABLE_JFR@ 527USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@ 528USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@ 529USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@ 530LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@ 531CHECK_FOR_VCINSTALLDIR=@CHECK_FOR_VCINSTALLDIR@ 532MSVCRNN_DLL:=@MSVCR100DLL@ 533 534 535# ADD_SRCS takes a single argument with source roots 536# and appends any corresponding source roots found 537# below --with-add-source-root and below 538# --with-override-source-root. It is the responsibility 539# of the next macro to get rid of superfluous files. 540ADD_SRCS=$1 541ifneq (,$(ADD_SRC_ROOT)) 542 # Append wildcard rule to pickup any matching source roots found below ADD_SRC_ROOT 543 ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(ADD_SRC_ROOT),$1)) 544endif 545ifneq (,$(OVERRIDE_SRC_ROOT)) 546 # Append wildcard rule to pickup any matching source roots found below OVERRIDE_SRC_ROOT 547 ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(OVERRIDE_SRC_ROOT),$1)) 548endif 549 550# OVR_SRCS creates a filter expression to filter out sources in 551# the original source directory that lie inside directories below 552# --with-override-source-root. 553# Use := here since we want to scan for these files here. To avoid recomputation later. 554# We cannot do the scan in configure, since that would force us to rerun configure when 555# we add overridden sources. 556ifneq (,$(OVERRIDE_SRC_ROOT)) 557 OVR_SRCS:=$(addsuffix %,$(subst $(OVERRIDE_SRC_ROOT),$(SRC_ROOT),$(sort $(dir $(shell $(FIND) $(OVERRIDE_SRC_ROOT) -type f))))) 558else 559 OVR_SRCS:= 560endif 561 562#################################################### 563# 564# Legacy Hotspot support 565 566HOTSPOT_DIST:=@HOTSPOT_DIST@ 567HOTSPOT_MAKE_ARGS:=@HOTSPOT_MAKE_ARGS@ 568# This is used from the libjvm build for C/C++ code. 569HOTSPOT_BUILD_JOBS:=@CONCURRENT_BUILD_JOBS@ 570# Control wether Hotspot runs Queens test after building 571TEST_IN_BUILD=@TEST_IN_BUILD@ 572 573#################################################### 574# 575# INSTALLATION 576# 577 578# Common prefix for all installed files. Defaults to /usr/local, 579# but /opt/myjdk is another common version. 580INSTALL_PREFIX=@prefix@ 581 582# Directories containing architecture-dependent files should be relative to exec_prefix 583INSTALL_EXECPREFIX=@exec_prefix@ 584 585# java,javac,javah,javap etc are installed here. 586INSTALL_BINDIR=@bindir@ 587 588# Read only architecture-independent data 589INSTALL_DATADIR=@datadir@ 590 591# Root of above. 592INSTALL_DATAROOTDIR=@datarootdir@ 593 594# Doc files, other than info and man. 595INSTALL_DOCDIR=@docdir@ 596 597# Html documentation 598INSTALL_HTMLDIR=@htmldir@ 599 600# Installing C header files, JNI headers for example. 601INSTALL_INCLUDEDIR=@includedir@ 602 603# Installing library files.... 604INSTALL_INCLUDEDIR=@libdir@ 605 606# Executables that other programs run. 607INSTALL_LIBEXECDIR=@libexecdir@ 608 609# Locale-dependent but architecture-independent data, such as message catalogs. 610INSTALL_LOCALEDIR=@localedir@ 611 612# Modifiable single-machine data 613INSTALL_LOCALSTATEDIR=@localstatedir@ 614 615# Man pages 616INSTALL_MANDIR=@mandir@ 617 618# Modifiable architecture-independent data. 619INSTALL_SHAREDSTATEDIR=@sharedstatedir@ 620 621# Read-only single-machine data 622INSTALL_SYSCONFDIR=@sysconfdir@ 623 624 625#################################################### 626# 627# Misc 628# 629 630# Name of Service Agent library 631SALIB_NAME=@SALIB_NAME@ 632 633OS_VERSION_MAJOR:=@OS_VERSION_MAJOR@ 634OS_VERSION_MINOR:=@OS_VERSION_MINOR@ 635OS_VERSION_MICRO:=@OS_VERSION_MICRO@ 636 637# Include the closed-spec.gmk file if it exists 638-include $(dir @SPEC@)/closed-spec.gmk 639