5036N/A# Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved. 0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A# This code is free software; you can redistribute it and/or modify it 0N/A# under the terms of the GNU General Public License version 2 only, as 2362N/A# published by the Free Software Foundation. Oracle designates this 0N/A# particular file as subject to the "Classpath" exception as provided 2362N/A# by Oracle in the LICENSE file that accompanied this code. 0N/A# This code is distributed in the hope that it will be useful, but WITHOUT 0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A# version 2 for more details (a copy is included in the LICENSE file that 0N/A# accompanied this code). 0N/A# You should have received a copy of the GNU General Public License version 0N/A# 2 along with this work; if not, write to the Free Software Foundation, 0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A# Common variables used by all the Java makefiles. This file should 0N/A# WARNING: This file is shared with other workspaces. 0N/A# So when it includes other files, it must use JDK_TOPDIR. 116N/A# Check for strange explicit settings (change to empty or true) 116N/A x:=
$(error "OPENJDK (if defined) can only be set to true") 0N/A# On Solaris, the 'make' utility from Sun will not work with these makefiles. 0N/A# This little rule is only understood by Sun's make, and is harmless 0N/A# when seen by the GNU make tool. If using Sun's make, this causes the 0N/A# make command to fail. 9N/A # Hack, due to deploy repository using this file. 0N/A# Historically PLATFORM_SRC used to be src/$(PLATFORM), but we switched it to 0N/A# directory. In an ideal world it would be called src/genunix but we are not 0N/A# Files that cannot be included in the OpenJDK distribution are 0N/A# collected under a parent directory which contains just those files. 3142N/A# If CLOSE_SRC_INCLUDED isn't set to true, check if there's any 3142N/A# Set OPENJDK based on CLOSED_SRC_INCLUDED 0N/A# Define where closed directories are 0N/A# Get platform definitions 3867N/A# SE-Embedded support, if enabled 3767N/A# Cross-compilation Settings 3767N/A # Can't run the tools we just built 3767N/A # When cross-compiling CC generates code for the target, but 3767N/A # some parts of the build generate C code that has to be compiled 3767N/A # and executed on the build host - HOST_CC is the 'local' compiler. 3767N/A # Must set HOST_CC if not already set 3763N/A# Reset the VM name for client-only builds 0N/A# Freetype logic is applicable to OpenJDK only 0N/A#if we use system lib we do not need to copy it to build tree 0N/A # historically for Solaris we have slightly different devtools 0N/A # naming conventions 0N/A# Localizations for the different parts of the product beyond English 0N/A# A list of locales we support but don't have resource files. 0N/A# This is defined to optimize the search of resource bundles. 0N/A# All libraries except libjava and libjvm itself link against libjvm and 0N/A# libjava, the latter for its exported common utilities. libjava only links 0N/A# against libjvm. Programs' makefiles take their own responsibility for 0N/A# put JAVALIB first, but do not lose any platform specific values.... 0N/A# Libraries that must appear ahead of libc.so on the link command line 0N/A# for generated libraries 0N/A# Optional place to save the windows .lib files 0N/A# for generated include files 0N/A# for generated class files 0N/A# for generated tool class files 0N/A# for build tool jar files 165N/A# for generated tool class files 0N/A# for generated java source files 0N/A# for generated C source files (not javah) 0N/A# for imported source files 0N/A# for imported documents 0N/A# for generated documentation 0N/A# The MESSAGE, WARNING and ERROR files are used to store sanityck and 0N/A#where the demo source can be found 4378N/A#where the sample source can be found 0N/A# An attempt is made to generate unique enough directories for the 0N/A# generated files to not have name collisisons. Most build units 3378N/A# not define PACKAGE, PROGRAM, and LIBRARY. This code attempts to 3378N/A# on which of those values are set within each build unit. 0N/A# the use of += above makes a space separated list which we need to 0N/A# remove for filespecs. 0N/A# TEMPDIR is a unique general purpose directory 0N/A# need to use 'override' because GNU Make on Linux exports the wrong 0N/A# This must be created right away for pattern rules in Sanity.gmk to work. 0N/A# OBJDIRNAME is the name of the directory where the object code is to 0N/A# be placed. It's name depends on whether the data model architecture 0N/A# CLASSHDRDIR is where the generated C Class Header files go. 0N/A# CLASSDESTDIR can be used to specify the directory where generated classes 0N/A# are to be placed. The default is CLASSBINDIR. 0N/A# vpaths. These are the default locations searched for source files. 0N/A# GNUmakefiles of individual areas often override the default settings. 0N/A# There are no longer default vpath entries for C and assembler files 0N/A# so we can ensure that libraries don't get their hands on JVM files. 0N/A# We define an intermediate variable for Java files because 0N/A# we use its value later to help define $SOURCEPATH 0N/A # If filenames are duplicated between open/closed workspaces, prefer 0N/A # Source ordering is important: some targets depend on closed files 0N/A # replacing open ones, and thus the closed file sources must be found 0N/A # before the open ones. 0N/A # Don't reorder without consulting the teams that depend on this behavior. 0N/A# VPATH.h is used elsewhere to generate include flags. By default, 0N/A# anyone has access to the include files that the JVM area exports, 0N/A# Used in two ways: helps link against libjava.so. Also if overridden 0N/A# determines where your shared library is installed. 0N/A# Java header and stub variables 0N/A# Classpath seen by javac (different from the one seen by the VM 0N/A# running javac), and useful variables. 2080N/A# Run MAKE $@ for a launcher: 2080N/A# $(call make-launcher, name, mainclass, java-args, main-args) 0N/A# Prepare $@ target, remove old one and making sure directory exists 0N/A# Simple install of $< file to $@ 0N/A# Cleanup rule for after debug java run (hotspot.log file is left around) 0N/A# (This could be an old leftover file in a read-only area, use the @- prefix) 0N/A# used for this file, otherwise the default settings are used. 3767N/A# EXTRA_CFLAGS are used to define cross-compilation options 0N/A# Install of imported file (JDK_IMPORT_PATH, or some other external location) 536N/A if [ $$? =
0 ] ;
then \
536N/A if [ $$? !=
0 ];
then \
536N/A echo "ERROR: Cannot chcon $@"; \