Defs.gmk revision 3867
0N/A# Copyright (c) 1995, 2011, 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 0N/A# published by the Free Software Foundation. Oracle designates this 0N/A# particular file as subject to the "Classpath" exception as provided 0N/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. 0N/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. 0N/A# Check for strange explicit settings (change to empty or true) 0N/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. 0N/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. 0N/A# If CLOSE_SRC_INCLUDED isn't set to true, check if there's any 0N/A# Set OPENJDK based on CLOSED_SRC_INCLUDED 0N/A# Define where closed directories are 0N/A# Get platform definitions 0N/A# SE-Embedded support, if enabled 0N/A# Cross-compilation Settings 0N/A # Can't run the tools we just built 0N/A # When cross-compiling CC generates code for the target, but 0N/A # some parts of the build generate C code that has to be compiled 0N/A # and executed on the build host - HOST_CC is the 'local' compiler. 0N/A # For linux the default is /usr/bin/gcc; other platforms need to 0N/A # Must set HOST_CC if not already set 0N/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 # against libjvm. Programs' makefiles take their own responsibility for # put JAVALIB first, but do not lose any platform specific values.... # Libraries that must appear ahead of libc.so on the link command line # for generated libraries # Optional place to save the windows .lib files # for generated include files # for generated class files # for generated tool class files # for build tool jar files # for generated tool class files # for generated java source files # for generated C source files (not javah) # for imported source files # for generated documentation # The MESSAGE, WARNING and ERROR files are used to store sanityck and #where the demo source can be found # An attempt is made to generate unique enough directories for the # generated files to not have name collisisons. Most build units # defines PRODUCT (except Release.gmk), but then they may or may # not define PACKAGE, PROGRAM, and LIBRARY. This code attempts to # on which of those values are set within each build unit. # the use of += above makes a space separated list which we need to # TEMPDIR is a unique general purpose directory # need to use 'override' because GNU Make on Linux exports the wrong # This must be created right away for pattern rules in Sanity.gmk to work. # OBJDIRNAME is the name of the directory where the object code is to # be placed. It's name depends on whether the data model architecture # CLASSHDRDIR is where the generated C Class Header files go. # CLASSDESTDIR can be used to specify the directory where generated classes # are to be placed. The default is CLASSBINDIR. # vpaths. These are the default locations searched for source files. # GNUmakefiles of individual areas often override the default settings. # There are no longer default vpath entries for C and assembler files # so we can ensure that libraries don't get their hands on JVM files. # We define an intermediate variable for Java files because # we use its value later to help define $SOURCEPATH # If filenames are duplicated between open/closed workspaces, prefer # Source ordering is important: some targets depend on closed files # replacing open ones, and thus the closed file sources must be found # Don't reorder without consulting the teams that depend on this behavior. # VPATH.h is used elsewhere to generate include flags. By default, # anyone has access to the include files that the JVM area exports, # Used in two ways: helps link against libjava.so. Also if overridden # determines where your shared library is installed. # Java header and stub variables # Classpath seen by javac (different from the one seen by the VM # running javac), and useful variables. # Run MAKE $@ for a launcher: # $(call make-launcher, name, mainclass, java-args, main-args) # Prepare $@ target, remove old one and making sure directory exists # Simple install of $< file to $@ # Cleanup rule for after debug java run (hotspot.log file is left around) # (This could be an old leftover file in a read-only area, use the @- prefix) # used for this file, otherwise the default settings are used. # EXTRA_CFLAGS are used to define cross-compilation options # Install of imported file (JDK_IMPORT_PATH, or some other external location) @
$(ECHO) "ASSEMBLY_IMPORT: $@" echo "ERROR: Cannot chcon $@"; \