spec.gmk.in revision 504:78bb27faf889
1251876Speter# 2251876Speter# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 3251876Speter# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4251876Speter# 5251876Speter# This code is free software; you can redistribute it and/or modify it 6251876Speter# under the terms of the GNU General Public License version 2 only, as 7251876Speter# published by the Free Software Foundation. Oracle designates this 8251876Speter# particular file as subject to the "Classpath" exception as provided 9251876Speter# by Oracle in the LICENSE file that accompanied this code. 10251876Speter# 11251876Speter# This code is distributed in the hope that it will be useful, but WITHOUT 12251876Speter# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13251876Speter# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14251876Speter# version 2 for more details (a copy is included in the LICENSE file that 15251876Speter# accompanied this code). 16251876Speter# 17251876Speter# You should have received a copy of the GNU General Public License version 18251876Speter# 2 along with this work; if not, write to the Free Software Foundation, 19251876Speter# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20251876Speter# 21251876Speter# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22251876Speter# or visit www.oracle.com if you need additional information or have any 23251876Speter# questions. 24251876Speter# 25251876Speter 26251876Speter# Configured @DATE_WHEN_CONFIGURED@ to build 27251876Speter# for target system @OPENJDK_TARGET_OS@-@OPENJDK_TARGET_CPU@ 28251876Speter# (called @OPENJDK_TARGET_AUTOCONF_NAME@ by autoconf) 29251876Speter# on build system @OPENJDK_BUILD_OS@-@OPENJDK_BUILD_CPU@ 30251876Speter# (called @OPENJDK_BUILD_AUTOCONF_NAME@ by autoconf) 31251876Speter# using 'configure @CONFIGURE_COMMAND_LINE@' 32251876Speter 33251876Speter# When calling macros, the spaces between arguments are 34251876Speter# often semantically important! Sometimes we need to subst 35251876Speter# spaces and commas, therefore we need the following macros. 36251876SpeterX:= 37251876SpeterSPACE:=$(X) $(X) 38251876SpeterCOMMA:=, 39251876SpeterHASH:=\# 40251876SpeterSQUOTE:=' 41251876Speter#' 42251876SpeterDQUOTE:=" 43251876Speter#" 44251876Speterdefine NEWLINE 45251876Speter 46251876Speter 47251876Speterendef 48251876Speter 49251876Speter# A self-referential reference to this file. 50251876SpeterSPEC:=@SPEC@ 51251876Speter 52251876Speter# Specify where the spec file is. 53251876SpeterMAKE_ARGS="SPEC=$(SPEC)" 54251876Speter 55251876SpeterMAKE:=@MAKE@ 56251876Speter 57251876Speter# Pass along the verbosity setting. 58251876Speterifeq (,$(findstring VERBOSE=,$(MAKE))) 59251876Speter MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)" 60251876Speterendif 61251876Speter 62251876Speter# No implicit variables or rules! 63251876Speterifeq (,$(findstring -R,$(MAKE))) 64251876Speter MAKE:=$(MAKE) -R 65251876Speterendif 66251876Speter 67251876Speter# Specify where the common include directory for makefiles is. 68251876Speterifeq (,$(findstring -I @SRC_ROOT@/common/makefiles,$(MAKE))) 69251876Speter MAKE:=$(MAKE) -I @SRC_ROOT@/common/makefiles 70251876Speterendif 71251876Speter 72251876Speter# The "human readable" name of this configuration 73251876SpeterCONF_NAME:=@CONF_NAME@ 74251876Speter 75251876Speter# The built jdk will run in this target system. 76251876SpeterOPENJDK_TARGET_OS:=@OPENJDK_TARGET_OS@ 77251876SpeterOPENJDK_TARGET_OS_API:=@OPENJDK_TARGET_OS_API@ 78251876SpeterOPENJDK_TARGET_OS_ENV:=@OPENJDK_TARGET_OS_ENV@ 79251876Speter 80251876SpeterOPENJDK_TARGET_CPU:=@OPENJDK_TARGET_CPU@ 81251876SpeterOPENJDK_TARGET_CPU_ARCH:=@OPENJDK_TARGET_CPU_ARCH@ 82251876SpeterOPENJDK_TARGET_CPU_BITS:=@OPENJDK_TARGET_CPU_BITS@ 83251876SpeterOPENJDK_TARGET_CPU_ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@ 84251876Speter 85251876SpeterCOMPILE_TYPE:=@COMPILE_TYPE@ 86251876Speter 87251876Speter# Legacy support 88251876SpeterOPENJDK_TARGET_CPU_ISADIR:=@OPENJDK_TARGET_CPU_ISADIR@ 89251876SpeterOPENJDK_TARGET_CPU_LIBDIR:=@OPENJDK_TARGET_CPU_LIBDIR@ 90251876SpeterOPENJDK_TARGET_CPU_LEGACY:=@OPENJDK_TARGET_CPU_LEGACY@ 91251876SpeterOPENJDK_TARGET_CPU_LEGACY_LIB:=@OPENJDK_TARGET_CPU_LEGACY_LIB@ 92251876SpeterOPENJDK_TARGET_CPU_OSARCH:=@OPENJDK_TARGET_CPU_OSARCH@ 93251876SpeterOPENJDK_TARGET_CPU_JLI_CFLAGS:=@OPENJDK_TARGET_CPU_JLI_CFLAGS@ 94251876SpeterOPENJDK_TARGET_OS_API_DIR:=@OPENJDK_TARGET_OS_API_DIR@ 95251876Speter 96251876Speter# We are building on this build system. 97251876Speter# When not cross-compiling, it is the same as the target. 98251876SpeterOPENJDK_BUILD_OS:=@OPENJDK_BUILD_OS@ 99251876SpeterOPENJDK_BUILD_OS_API:=@OPENJDK_BUILD_OS_API@ 100251876Speter 101251876SpeterOPENJDK_BUILD_CPU:=@OPENJDK_BUILD_CPU@ 102251876SpeterOPENJDK_BUILD_CPU_ARCH:=@OPENJDK_BUILD_CPU_ARCH@ 103251876SpeterOPENJDK_BUILD_CPU_BITS:=@OPENJDK_BUILD_CPU_BITS@ 104251876SpeterOPENJDK_BUILD_CPU_ENDIAN:=@OPENJDK_BUILD_CPU_ENDIAN@ 105251876Speter 106251876Speter# Legacy OS values for use in release file. 107251876SpeterREQUIRED_OS_NAME:=@REQUIRED_OS_NAME@ 108251876SpeterREQUIRED_OS_VERSION:=@REQUIRED_OS_VERSION@ 109251876Speter 110251876Speter@SET_OPENJDK@ 111251876SpeterLIBM:=-lm 112251876SpeterLIBDL:=@LIBDL@ 113251876Speter 114251876Speter# colon or semicolon 115251876SpeterPATH_SEP:=@PATH_SEP@ 116251876Speter 117251876Speterifeq ($(OPENJDK_TARGET_OS), windows) 118251876Speter # On Windows, the Visual Studio toolchain needs the LIB and INCLUDE 119251876Speter # environment variables (in Windows path style), and the PATH needs to 120251876Speter # be adjusted to include Visual Studio tools (but this needs to be in 121251876Speter # cygwin/msys style). 122251876Speter export PATH:=@VS_PATH@ 123251876Speter export INCLUDE:=@VS_INCLUDE@ 124251876Speter export LIB:=@VS_LIB@ 125251876Speterendif 126251876Speter 127251876Speter# The sys root where standard headers and libraries are found. 128251876Speter# Usually not needed since the configure script should have 129251876Speter# taken it into account already when setting CFLAGS et al. 130251876SpeterSYS_ROOT:=@SYS_ROOT@ 131251876Speter 132251876Speter# Paths to the source code 133251876SpeterSRC_ROOT:=@SRC_ROOT@ 134251876SpeterADD_SRC_ROOT:=@ADD_SRC_ROOT@ 135251876SpeterOVERRIDE_SRC_ROOT:=@OVERRIDE_SRC_ROOT@ 136251876SpeterTOPDIR:=@SRC_ROOT@ 137251876SpeterOUTPUT_ROOT:=@OUTPUT_ROOT@ 138251876SpeterJDK_TOPDIR:=@JDK_TOPDIR@ 139251876SpeterLANGTOOLS_TOPDIR:=@LANGTOOLS_TOPDIR@ 140251876SpeterCORBA_TOPDIR:=@CORBA_TOPDIR@ 141251876SpeterJAXP_TOPDIR:=@JAXP_TOPDIR@ 142251876SpeterJAXWS_TOPDIR:=@JAXWS_TOPDIR@ 143251876SpeterHOTSPOT_TOPDIR:=@HOTSPOT_TOPDIR@ 144251876SpeterCOPYRIGHT_YEAR:=@COPYRIGHT_YEAR@ 145251876Speter 146251876Speter# Location where build customization files may be found 147251876SpeterCUSTOM_MAKE_DIR:=@CUSTOM_MAKE_DIR@ 148251876Speter 149251876Speter# Information gathered from the version.numbers file. 150251876SpeterJDK_MAJOR_VERSION:=@JDK_MAJOR_VERSION@ 151251876SpeterJDK_MINOR_VERSION:=@JDK_MINOR_VERSION@ 152251876SpeterJDK_MICRO_VERSION:=@JDK_MICRO_VERSION@ 153251876SpeterJDK_UPDATE_VERSION:=@JDK_UPDATE_VERSION@ 154251876SpeterJDK_BUILD_NUMBER:=@JDK_BUILD_NUMBER@ 155251876SpeterMILESTONE:=@MILESTONE@ 156251876SpeterLAUNCHER_NAME:=@LAUNCHER_NAME@ 157251876SpeterPRODUCT_NAME:=@PRODUCT_NAME@ 158251876SpeterPRODUCT_SUFFIX:=@PRODUCT_SUFFIX@ 159251876SpeterJDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@ 160251876SpeterCOMPANY_NAME:=@COMPANY_NAME@ 161251876SpeterMACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@ 162251876SpeterMACOSX_BUNDLE_ID_BASE=@MACOSX_BUNDLE_ID_BASE@ 163251876Speter 164251876Speter# Different version strings generated from the above information. 165251876SpeterJDK_VERSION:=@JDK_VERSION@ 166251876SpeterRUNTIME_NAME:=@RUNTIME_NAME@ 167251876SpeterFULL_VERSION:=@FULL_VERSION@ 168251876SpeterJRE_RELEASE_VERSION:=@FULL_VERSION@ 169251876SpeterRELEASE:=@RELEASE@ 170251876SpeterCOOKED_BUILD_NUMBER:=@COOKED_BUILD_NUMBER@ 171251876Speter 172251876Speter# How to compile the code: release, fastdebug or slowdebug 173251876SpeterDEBUG_LEVEL:=@DEBUG_LEVEL@ 174251876Speter 175251876Speter# This is the JDK variant to build. 176251876Speter# The JDK variant is a name for a specific set of modules to be compiled for the JDK. 177251876SpeterJDK_VARIANT:=@JDK_VARIANT@ 178251876Speter 179251876Speter# Should we compile support for running with a graphical UI? (ie headful) 180251876Speter# Should we compile support for running without? (ie headless) 181251876SpeterSUPPORT_HEADFUL:=@SUPPORT_HEADFUL@ 182251876SpeterSUPPORT_HEADLESS:=@SUPPORT_HEADLESS@ 183251876Speter# Legacy defines controlled by the SUPPORT_HEADLESS and SUPPORT_HEADFUL options. 184251876Speter@BUILD_HEADLESS@ 185251876Speter 186251876Speter# These are the libjvms that we want to build. 187251876Speter# The java launcher uses the default. 188251876Speter# The other can be selected by specifying -client -server -kernel -zero or -zeroshark 189251876Speter# on the java launcher command line. 190251876SpeterJVM_VARIANTS:=@JVM_VARIANTS@ 191251876SpeterJVM_VARIANT_SERVER:=@JVM_VARIANT_SERVER@ 192251876SpeterJVM_VARIANT_CLIENT:=@JVM_VARIANT_CLIENT@ 193251876SpeterJVM_VARIANT_KERNEL:=@JVM_VARIANT_KERNEL@ 194251876SpeterJVM_VARIANT_ZERO:=@JVM_VARIANT_ZERO@ 195251876SpeterJVM_VARIANT_ZEROSHARK:=@JVM_VARIANT_ZEROSHARK@ 196251876Speter 197251876Speter# Universal binaries on macosx 198251876SpeterMACOSX_UNIVERSAL=@MACOSX_UNIVERSAL@ 199251876Speter 200251876Speter# Legacy setting: -debug or -fastdebug 201251876Speter# Still used in version string... 202251876SpeterBUILD_VARIANT_RELEASE:=@BUILD_VARIANT_RELEASE@ 203251876Speter 204251876Speter# JDK_OUTPUTDIR specifies where a working jvm is built. 205251876Speter# You can run $(JDK_OUTPUTDIR)/bin/java 206251876Speter# Though the layout of the contents of $(JDK_OUTPUTDIR) is not 207251876Speter# yet the same as a default installation. 208251876Speter# 209251876Speter# When you run "make install" it will create the standardized 210251876Speter# layout for the jdk and the jre inside the IMAGES_OUTPUTDIR subdir. 211251876Speter# Then it will copy the contents of the jdk into the installation 212251876Speter# directory. 213251876Speter 214251876SpeterBUILD_OUTPUT:=@BUILD_OUTPUT@ 215251876SpeterLANGTOOLS_OUTPUTDIR=$(BUILD_OUTPUT)/langtools 216251876SpeterCORBA_OUTPUTDIR=$(BUILD_OUTPUT)/corba 217251876SpeterJAXP_OUTPUTDIR=$(BUILD_OUTPUT)/jaxp 218251876SpeterJAXWS_OUTPUTDIR=$(BUILD_OUTPUT)/jaxws 219251876SpeterHOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot 220251876SpeterJDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk 221251876SpeterIMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images 222251876Speter 223251876SpeterLANGTOOLS_DIST=$(LANGTOOLS_OUTPUTDIR)/dist 224251876SpeterCORBA_DIST=$(CORBA_OUTPUTDIR)/dist 225251876SpeterJAXP_DIST=$(JAXP_OUTPUTDIR)/dist 226251876SpeterJAXWS_DIST=$(JAXWS_OUTPUTDIR)/dist 227251876SpeterHOTSPOT_DIST=@HOTSPOT_DIST@ 228251876Speter 229251876SpeterBUILD_HOTSPOT=@BUILD_HOTSPOT@ 230251876Speter 231251876Speter# The boot jdk to use 232251876SpeterBOOT_JDK:=@BOOT_JDK@ 233251876SpeterBOOT_JDK_JVMARGS:=@BOOT_JDK_JVMARGS@ 234251876SpeterBOOT_RTJAR:=@BOOT_RTJAR@ 235251876SpeterBOOT_TOOLSJAR=$(BOOT_JDK)/lib/tools.jar 236251876Speter 237251876Speter# When compiling Java source to be run by the boot jdk 238251876Speter# use these extra flags, eg -source 6 -target 6 239251876SpeterBOOT_JDK_SOURCETARGET:=@BOOT_JDK_SOURCETARGET@ 240251876Speter 241251876Speter# Information about the build system 242251876SpeterNUM_CORES:=@NUM_CORES@ 243251876Speter# Enable sjavac support = use a javac server, 244251876Speter# multi core javac compilation and dependency tracking. 245251876SpeterENABLE_SJAVAC:=@ENABLE_SJAVAC@ 246251876Speter# Store sjavac server synchronization files here, and 247251876Speter# the sjavac server log files. 248251876SpeterSJAVAC_SERVER_DIR:=@SJAVAC_SERVER_DIR@ 249251876Speter# We can block the Javac server to never use more cores than this. 250251876Speter# This is not for performance reasons, but for memory usage, since each 251251876Speter# core requires its own JavaCompiler. We might have 64 cores and 4GB 252251876Speter# of memory, 64 JavaCompilers will currently not fit in a 3GB heap. 253251876Speter# Since there is no sharing of data between the JavaCompilers. 254251876SpeterSJAVAC_SERVER_CORES:=@SJAVAC_SERVER_CORES@ 255251876Speter 256251876Speter# The OpenJDK makefiles should be changed to using the standard 257251876Speter# configure output ..._CFLAGS and ..._LIBS. In the meantime we 258251876Speter# extract the information here. 259251876SpeterFREETYPE2_LIB_PATH:=@FREETYPE2_LIB_PATH@ 260251876SpeterFREETYPE2_LIBS:=@FREETYPE2_LIBS@ 261251876SpeterFREETYPE2_CFLAGS:=@FREETYPE2_CFLAGS@ 262251876SpeterUSING_SYSTEM_FT_LIB=@USING_SYSTEM_FT_LIB@ 263251876SpeterCUPS_CFLAGS:=@CUPS_CFLAGS@ 264251876Speter 265251876SpeterPACKAGE_PATH=@PACKAGE_PATH@ 266251876Speter 267251876Speter# Source file for cacerts 268251876SpeterCACERTS_FILE=@CACERTS_FILE@ 269251876Speter 270251876Speter# Enable unlimited crypto policy 271251876SpeterUNLIMITED_CRYPTO=@UNLIMITED_CRYPTO@ 272251876Speter 273251876Speter# Necessary additional compiler flags to compile X11 274251876SpeterX_CFLAGS:=@X_CFLAGS@ 275251876SpeterX_LIBS:=@X_LIBS@ 276251876SpeterOPENWIN_HOME:=@OPENWIN_HOME@ 277251876Speter 278251876Speter# There are two types: CC or CL 279251876Speter# CC is gcc and others behaving reasonably similar. 280251876Speter# CL is cl.exe only. 281251876SpeterCOMPILER_TYPE:=@COMPILER_TYPE@ 282251876Speter 283251876SpeterCC_OUT_OPTION:=@CC_OUT_OPTION@ 284251876SpeterEXE_OUT_OPTION:=@EXE_OUT_OPTION@ 285251876SpeterLD_OUT_OPTION:=@LD_OUT_OPTION@ 286251876SpeterAR_OUT_OPTION:=@AR_OUT_OPTION@ 287251876Speter 288251876Speter# Flags used for overriding the default opt setting for a C/C++ source file. 289251876SpeterC_O_FLAG_HIGHEST:=@C_O_FLAG_HIGHEST@ 290251876SpeterC_O_FLAG_HI:=@C_O_FLAG_HI@ 291251876SpeterC_O_FLAG_NORM:=@C_O_FLAG_NORM@ 292251876SpeterC_O_FLAG_NONE:=@C_O_FLAG_NONE@ 293251876SpeterCXX_O_FLAG_HIGHEST:=@CXX_O_FLAG_HIGHEST@ 294251876SpeterCXX_O_FLAG_HI:=@CXX_O_FLAG_HI@ 295251876SpeterCXX_O_FLAG_NORM:=@CXX_O_FLAG_NORM@ 296251876SpeterCXX_O_FLAG_NONE:=@CXX_O_FLAG_NONE@ 297251876Speter 298251876SpeterC_FLAG_DEPS:=@C_FLAG_DEPS@ 299251876SpeterCXX_FLAG_DEPS:=@CXX_FLAG_DEPS@ 300251876Speter 301251876Speter# Tools that potentially need to be cross compilation aware. 302251876SpeterCC:=@FIXPATH@ @CCACHE@ @CC@ 303251876Speter 304251876Speter# CFLAGS used to compile the jdk native libraries (C-code) 305251876SpeterCFLAGS_JDKLIB:=@CFLAGS_JDKLIB@ 306251876SpeterCXXFLAGS_JDKLIB:=@CXXFLAGS_JDKLIB@ 307251876Speter 308251876Speter# CFLAGS used to compile the jdk native launchers (C-code) 309251876SpeterCFLAGS_JDKEXE:=@CFLAGS_JDKEXE@ 310251876SpeterCXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@ 311251876Speter 312251876SpeterCXX:=@FIXPATH@ @CCACHE@ @CXX@ 313251876Speter#CXXFLAGS:=@CXXFLAGS@ 314251876Speter 315251876SpeterOBJC:=@CCACHE@ @OBJC@ 316251876Speter#OBJCFLAGS:=@OBJCFLAGS@ 317251876Speter 318251876SpeterCPP:=@FIXPATH@ @CPP@ 319251876Speter#CPPFLAGS:=@CPPFLAGS@ 320251876Speter 321251876Speter# The linker can be gcc or ld on posix systems, or link.exe on windows systems. 322251876SpeterLD:=@FIXPATH@ @LD@ 323251876Speter 324251876Speter# LDFLAGS used to link the jdk native libraries (C-code) 325251876SpeterLDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@ 326251876SpeterLDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@ 327251876Speter 328251876Speter# On some platforms the linker cannot be used to create executables, thus 329251876Speter# the need for a separate LDEXE command. 330251876SpeterLDEXE:=@FIXPATH@ @LDEXE@ 331251876Speter 332251876Speter# LDFLAGS used to link the jdk native launchers (C-code) 333251876SpeterLDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@ 334251876SpeterLDFLAGS_JDKEXE_SUFFIX:=@LDFLAGS_JDKEXE_SUFFIX@ 335251876Speter 336251876Speter# LDFLAGS specific to C++ linking. 337251876SpeterLDFLAGS_CXX_JDK:=@LDFLAGS_CXX_JDK@ 338251876Speter 339251876Speter# Sometimes a different linker is needed for c++ libs 340251876SpeterLDCXX:=@FIXPATH@ @LDCXX@ 341251876Speter# The flags for linking libstdc++ linker. 342251876SpeterLIBCXX:=@LIBCXX@ 343251876Speter 344251876Speter# Sometimes a different linker is needed for c++ executables 345251876SpeterLDEXECXX:=@FIXPATH@ @LDEXECXX@ 346251876Speter 347251876Speter# BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the 348251876Speter# build platform. 349251876SpeterBUILD_CC:=@FIXPATH@ @BUILD_CC@ 350251876SpeterBUILD_LD:=@FIXPATH@ @BUILD_LD@ 351251876Speter 352251876SpeterAS:=@FIXPATH@ @AS@ 353251876Speter 354251876Speter# AR is used to create a static library (is ar in posix, lib.exe in windows) 355251876SpeterAR:=@FIXPATH@ @AR@ 356251876SpeterARFLAGS:=@ARFLAGS@ 357251876Speter 358251876SpeterNM:=@NM@ 359251876SpeterSTRIP:=@STRIP@ 360251876SpeterMCS:=@MCS@ 361251876Speter 362251876SpeterLIPO:=@LIPO@ 363251876Speter 364251876Speter# Command to create a shared library 365251876SpeterSHARED_LIBRARY_FLAGS:=@SHARED_LIBRARY_FLAGS@ 366253734Speter 367251876Speter# Options to linker to specify a mapfile. 368251876Speter# (Note absence of := assignment, because we do not want to evaluate the macro body here) 369251876SpeterSET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@ 370251876Speter 371251876Speter# Options for C/CXX compiler to be used if linking is performed 372251876Speter# using reorder file 373251876SpeterC_FLAG_REORDER:=@C_FLAG_REORDER@ 374251876SpeterCXX_FLAG_REORDER:=@CXX_FLAG_REORDER@ 375251876Speter 376251876Speter# 377251876Speter# Options for generating debug symbols 378251876SpeterENABLE_DEBUG_SYMBOLS:=@ENABLE_DEBUG_SYMBOLS@ 379251876SpeterCFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@ 380251876SpeterCXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@ 381251876SpeterZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@ 382251876Speter 383251876Speter# 384251876Speter# Compress (or not) jars 385251876SpeterCOMPRESS_JARS=@COMPRESS_JARS@ 386251876Speter 387251876Speter# Options to linker to specify the library name. 388251876Speter# (Note absence of := assignment, because we do not want to evaluate the macro body here) 389251876SpeterSET_SHARED_LIBRARY_NAME=@SET_SHARED_LIBRARY_NAME@ 390251876Speter 391251876Speter# Set origin using the linker, ie use the relative path to the dependent library to find the dependees. 392251876Speter# (Note absence of := assignment, because we do not want to evaluate the macro body here) 393251876SpeterSET_SHARED_LIBRARY_ORIGIN=@SET_SHARED_LIBRARY_ORIGIN@ 394251876SpeterSET_EXECUTABLE_ORIGIN=@SET_EXECUTABLE_ORIGIN@ 395253734Speter 396253734Speter# Different OS:es have different ways of naming shared libraries. 397251876Speter# The SHARED_LIBRARY macro takes "verify" as and argument and returns: 398251876Speter# "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform. 399251876Speter# (Note absence of := assignment, because we do not want to evaluate the macro body here) 400251876SpeterSHARED_LIBRARY=@SHARED_LIBRARY@ 401251876SpeterSTATIC_LIBRARY=@STATIC_LIBRARY@ 402251876SpeterLIBRARY_PREFIX:=@LIBRARY_PREFIX@ 403251876SpeterSHARED_LIBRARY_SUFFIX:=@SHARED_LIBRARY_SUFFIX@ 404251876SpeterSTATIC_LIBRARY_SUFFIX:=@STATIC_LIBRARY_SUFFIX@ 405251876SpeterEXE_SUFFIX:=@EXE_SUFFIX@ 406251876SpeterOBJ_SUFFIX:=@OBJ_SUFFIX@ 407251876Speter 408251876SpeterPOST_STRIP_CMD:=@POST_STRIP_CMD@ 409251876SpeterPOST_MCS_CMD:=@POST_MCS_CMD@ 410251876Speter 411251876SpeterJAVA_FLAGS:=@BOOT_JDK_JVMARGS@ 412251876Speter 413251876SpeterJAVA=@FIXPATH@ $(BOOT_JDK)/bin/java $(JAVA_FLAGS) 414251876Speter 415251876SpeterJAVAC=@FIXPATH@ $(BOOT_JDK)/bin/javac 416251876Speter# Hotspot sets this variable before reading the SPEC when compiling sa-jdi.jar. Avoid 417251876Speter# overriding that value by using ?=. 418251876SpeterJAVAC_FLAGS?=@JAVAC_FLAGS@ 419251876Speter 420251876SpeterJAVAH=@FIXPATH@ $(BOOT_JDK)/bin/javah 421251876Speter 422251876SpeterJAR=@FIXPATH@ $(BOOT_JDK)/bin/jar 423251876Speter 424251876SpeterRMIC=@FIXPATH@ $(BOOT_JDK)/bin/rmic 425251876Speter 426251876SpeterNATIVE2ASCII=@FIXPATH@ $(BOOT_JDK)/bin/native2ascii 427251876Speter 428251876Speter# Base flags for RC 429251876Speter# Guarding this against resetting value. Legacy make files include spec multiple 430251876Speter# times. 431251876Speterifndef RC_FLAGS 432251876SpeterRC_FLAGS:=@RC_FLAGS@ 433251876Speterendif 434251876Speter 435251876Speter# A specific java binary with specific options can be used to run 436251876Speter# the long running background sjavac servers and other long running tasks. 437251876SpeterSJAVAC_SERVER_JAVA:=@FIXPATH@ @SJAVAC_SERVER_JAVA@ 438251876Speter 439251876Speter# Tools adhering to a minimal and common standard of posix compliance. 440251876SpeterAWK:=@AWK@ 441251876SpeterBASENAME:=@BASENAME@ 442251876SpeterBASH:=@BASH@ 443251876SpeterCAT:=@CAT@ 444251876SpeterCCACHE:=@CCACHE@ 445251876Speter# CD is going away, but remains to cater for legacy makefiles. 446251876SpeterCD:=cd 447251876SpeterCHMOD:=@CHMOD@ 448251876SpeterCP:=@CP@ 449251876SpeterCUT:=@CUT@ 450251876SpeterDATE:=@DATE@ 451251876SpeterDIFF:=@DIFF@ 452251876SpeterFIND:=@FIND@ 453251876SpeterFIND_DELETE:=@FIND_DELETE@ 454251876SpeterECHO:=@ECHO@ 455251876SpeterEGREP:=@EGREP@ 456251876SpeterFGREP:=@FGREP@ 457251876SpeterGREP:=@GREP@ 458251876SpeterHEAD:=@HEAD@ 459251876SpeterLS:=@LS@ 460251876SpeterLN:=@LN@ 461251876SpeterMKDIR:=@MKDIR@ 462251876SpeterMV:=@MV@ 463251876SpeterNAWK:=@NAWK@ 464251876SpeterPRINTF:=@PRINTF@ 465251876SpeterPWD:=@THEPWDCMD@ 466251876SpeterRM:=@RM@ 467251876SpeterSED:=@SED@ 468251876SpeterSH:=@SH@ 469251876SpeterSORT:=@SORT@ 470251876SpeterTAR:=@TAR@ 471251876SpeterTAIL:=@TAIL@ 472251876SpeterTEE:=@TEE@ 473251876SpeterTIME:=@TIME@ 474251876SpeterTR:=@TR@ 475251876SpeterTOUCH:=@TOUCH@ 476251876SpeterWC:=@WC@ 477251876SpeterXARGS:=@XARGS@ 478251876SpeterZIPEXE:=@ZIP@ 479251876SpeterZIP:=@ZIP@ 480251876SpeterUNZIP:=@UNZIP@ 481251876SpeterMT:=@FIXPATH@ @MT@ 482251876SpeterRC:=@FIXPATH@ @RC@ 483251876SpeterDUMPBIN:=@FIXPATH@ @DUMPBIN@ 484251876SpeterCYGPATH:=@CYGPATH@ 485251876SpeterLDD:=@LDD@ 486251876SpeterOTOOL:=@OTOOL@ 487251876SpeterREADELF:=@READELF@ 488251876SpeterEXPR:=@EXPR@ 489251876SpeterFILE:=@FILE@ 490251876SpeterHG:=@HG@ 491251876SpeterOBJCOPY:=@OBJCOPY@ 492251876SpeterSETFILE:=@SETFILE@ 493251876Speter 494251876SpeterFIXPATH:=@FIXPATH@ 495251876Speter 496251876Speter# Where the build output is stored for your convenience. 497251876SpeterBUILD_LOG:=@BUILD_LOG@ 498251876SpeterBUILD_LOG_PREVIOUS:=@BUILD_LOG_PREVIOUS@ 499251876SpeterBUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@ 500251876Speter 501251876Speter# Build setup 502251876SpeterENABLE_JFR=@ENABLE_JFR@ 503251876SpeterUSE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@ 504251876SpeterUSE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@ 505251876SpeterUSE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@ 506251876SpeterLIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@ 507251876SpeterMSVCR_DLL:=@MSVCR_DLL@ 508251876Speter 509251876Speter 510251876Speter# ADD_SRCS takes a single argument with source roots 511251876Speter# and appends any corresponding source roots found 512251876Speter# below --with-add-source-root and below 513251876Speter# --with-override-source-root. It is the responsibility 514251876Speter# of the next macro to get rid of superfluous files. 515251876SpeterADD_SRCS=$1 516251876Speterifneq (,$(ADD_SRC_ROOT)) 517251876Speter # Append wildcard rule to pickup any matching source roots found below ADD_SRC_ROOT 518251876Speter ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(ADD_SRC_ROOT),$1)) 519251876Speterendif 520251876Speterifneq (,$(OVERRIDE_SRC_ROOT)) 521251876Speter # Append wildcard rule to pickup any matching source roots found below OVERRIDE_SRC_ROOT 522251876Speter ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(OVERRIDE_SRC_ROOT),$1)) 523251876Speterendif 524251876Speter 525251876Speter# OVR_SRCS creates a filter expression to filter out sources in 526251876Speter# the original source directory that lie inside directories below 527251876Speter# --with-override-source-root. 528251876Speter# Use := here since we want to scan for these files here. To avoid recomputation later. 529251876Speter# We cannot do the scan in configure, since that would force us to rerun configure when 530251876Speter# we add overridden sources. 531251876Speterifneq (,$(OVERRIDE_SRC_ROOT)) 532251876Speter OVR_SRCS:=$(addsuffix %,$(subst $(OVERRIDE_SRC_ROOT),$(SRC_ROOT),$(sort $(dir $(shell $(FIND) $(OVERRIDE_SRC_ROOT) -type f))))) 533251876Speterelse 534251876Speter OVR_SRCS:= 535251876Speterendif 536251876Speter 537251876Speter#################################################### 538251876Speter# 539251876Speter# INSTALLATION 540251876Speter# 541251876Speter 542251876Speter# Common prefix for all installed files. Defaults to /usr/local, 543251876Speter# but /opt/myjdk is another common version. 544251876SpeterINSTALL_PREFIX=@prefix@ 545251876Speter 546251876Speter# Directories containing architecture-dependent files should be relative to exec_prefix 547251876SpeterINSTALL_EXECPREFIX=@exec_prefix@ 548251876Speter 549251876Speter# java,javac,javah,javap etc are installed here. 550251876SpeterINSTALL_BINDIR=@bindir@ 551251876Speter 552251876Speter# Read only architecture-independent data 553251876SpeterINSTALL_DATADIR=@datadir@ 554251876Speter 555251876Speter# Root of above. 556251876SpeterINSTALL_DATAROOTDIR=@datarootdir@ 557251876Speter 558251876Speter# Doc files, other than info and man. 559251876SpeterINSTALL_DOCDIR=@docdir@ 560251876Speter 561251876Speter# Html documentation 562251876SpeterINSTALL_HTMLDIR=@htmldir@ 563251876Speter 564251876Speter# Installing C header files, JNI headers for example. 565251876SpeterINSTALL_INCLUDEDIR=@includedir@ 566251876Speter 567251876Speter# Installing library files.... 568251876SpeterINSTALL_INCLUDEDIR=@libdir@ 569251876Speter 570251876Speter# Executables that other programs run. 571251876SpeterINSTALL_LIBEXECDIR=@libexecdir@ 572251876Speter 573251876Speter# Locale-dependent but architecture-independent data, such as message catalogs. 574251876SpeterINSTALL_LOCALEDIR=@localedir@ 575251876Speter 576251876Speter# Modifiable single-machine data 577251876SpeterINSTALL_LOCALSTATEDIR=@localstatedir@ 578251876Speter 579251876Speter# Man pages 580251876SpeterINSTALL_MANDIR=@mandir@ 581251876Speter 582251876Speter# Modifiable architecture-independent data. 583251876SpeterINSTALL_SHAREDSTATEDIR=@sharedstatedir@ 584251876Speter 585251876Speter# Read-only single-machine data 586251876SpeterINSTALL_SYSCONFDIR=@sysconfdir@ 587251876Speter 588251876Speter 589251876Speter#################################################### 590251876Speter# 591251876Speter# Misc 592251876Speter# 593251876Speter 594251876Speter# Name of Service Agent library 595251876SpeterSALIB_NAME=@SALIB_NAME@ 596251876Speter 597251876SpeterOS_VERSION_MAJOR:=@OS_VERSION_MAJOR@ 598251876SpeterOS_VERSION_MINOR:=@OS_VERSION_MINOR@ 599251876SpeterOS_VERSION_MICRO:=@OS_VERSION_MICRO@ 600251876Speter 601251876Speter# Include the custom-spec.gmk file if it exists 602251876Speter-include $(dir @SPEC@)/custom-spec.gmk 603251876Speter