Defs.gmk revision 4603
afd172ad035048919fd468d1603a9e9277285270JazzyNico# Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
afd172ad035048919fd468d1603a9e9277285270JazzyNico# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
afd172ad035048919fd468d1603a9e9277285270JazzyNico# This code is free software; you can redistribute it and/or modify it
afd172ad035048919fd468d1603a9e9277285270JazzyNico# under the terms of the GNU General Public License version 2 only, as
afd172ad035048919fd468d1603a9e9277285270JazzyNico# published by the Free Software Foundation. Oracle designates this
afd172ad035048919fd468d1603a9e9277285270JazzyNico# particular file as subject to the "Classpath" exception as provided
afd172ad035048919fd468d1603a9e9277285270JazzyNico# by Oracle in the LICENSE file that accompanied this code.
afd172ad035048919fd468d1603a9e9277285270JazzyNico# This code is distributed in the hope that it will be useful, but WITHOUT
afd172ad035048919fd468d1603a9e9277285270JazzyNico# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
afd172ad035048919fd468d1603a9e9277285270JazzyNico# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
afd172ad035048919fd468d1603a9e9277285270JazzyNico# version 2 for more details (a copy is included in the LICENSE file that
afd172ad035048919fd468d1603a9e9277285270JazzyNico# accompanied this code).
afd172ad035048919fd468d1603a9e9277285270JazzyNico# You should have received a copy of the GNU General Public License version
afd172ad035048919fd468d1603a9e9277285270JazzyNico# 2 along with this work; if not, write to the Free Software Foundation,
afd172ad035048919fd468d1603a9e9277285270JazzyNico# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
afd172ad035048919fd468d1603a9e9277285270JazzyNico# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
afd172ad035048919fd468d1603a9e9277285270JazzyNico# or visit www.oracle.com if you need additional information or have any
afd172ad035048919fd468d1603a9e9277285270JazzyNico# Common variables used by all the Java makefiles. This file should
afd172ad035048919fd468d1603a9e9277285270JazzyNico# not contain rules.
afd172ad035048919fd468d1603a9e9277285270JazzyNico# WARNING: This file is shared with other workspaces.
afd172ad035048919fd468d1603a9e9277285270JazzyNico# So when it includes other files, it must use JDK_TOPDIR.
afd172ad035048919fd468d1603a9e9277285270JazzyNico# Check for strange explicit settings (change to empty or true)
afd172ad035048919fd468d1603a9e9277285270JazzyNico x:=$(error "OPENJDK (if defined) can only be set to true")
afd172ad035048919fd468d1603a9e9277285270JazzyNico# On Solaris, the 'make' utility from Sun will not work with these makefiles.
afd172ad035048919fd468d1603a9e9277285270JazzyNico# This little rule is only understood by Sun's make, and is harmless
afd172ad035048919fd468d1603a9e9277285270JazzyNico# when seen by the GNU make tool. If using Sun's make, this causes the
afd172ad035048919fd468d1603a9e9277285270JazzyNico# make command to fail.
afd172ad035048919fd468d1603a9e9277285270JazzyNicoSUN_MAKE_TEST:sh = echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33
afd172ad035048919fd468d1603a9e9277285270JazzyNico JDK_TOPDIR:=$(error "ERROR: Cannot define top of jdk repository")
afd172ad035048919fd468d1603a9e9277285270JazzyNico # Hack, due to deploy repository using this file.
afd172ad035048919fd468d1603a9e9277285270JazzyNico JDK_MAKE_SHARED_DIR=$(JDK_TOPDIR)/make/common/shared
afd172ad035048919fd468d1603a9e9277285270JazzyNicoinclude $(JDK_TOPDIR)/make/common/CancelImplicits.gmk
afd172ad035048919fd468d1603a9e9277285270JazzyNico# Historically PLATFORM_SRC used to be src/$(PLATFORM), but we switched it to
afd172ad035048919fd468d1603a9e9277285270JazzyNico# src/solaris so if you want to build on Linux you didn't need a src/linux
afd172ad035048919fd468d1603a9e9277285270JazzyNico# directory. In an ideal world it would be called src/genunix but we are not
afd172ad035048919fd468d1603a9e9277285270JazzyNico# Files that cannot be included in the OpenJDK distribution are
aea39058a556f160194bf12f84ee7254af96278dSlagvi Public# collected under a parent directory which contains just those files.
aea39058a556f160194bf12f84ee7254af96278dSlagvi Public# If CLOSE_SRC_INCLUDED isn't set to true, check if there's any
aea39058a556f160194bf12f84ee7254af96278dSlagvi Public# closed directory.
afd172ad035048919fd468d1603a9e9277285270JazzyNico echo true; \
afd172ad035048919fd468d1603a9e9277285270JazzyNico echo false; \
afd172ad035048919fd468d1603a9e9277285270JazzyNico# Set OPENJDK based on CLOSED_SRC_INCLUDED
afd172ad035048919fd468d1603a9e9277285270JazzyNico# Define where closed directories are
afd172ad035048919fd468d1603a9e9277285270JazzyNico# Get platform definitions
afd172ad035048919fd468d1603a9e9277285270JazzyNicoinclude $(JDK_TOPDIR)/make/common/Defs-$(PLATFORM).gmk
afd172ad035048919fd468d1603a9e9277285270JazzyNico# SE-Embedded support, if enabled
afd172ad035048919fd468d1603a9e9277285270JazzyNicoinclude $(JDK_TOPDIR)/make/common/Defs-embedded.gmk
USE_ONLY_BOOTDIR_TOOLS = true
USING_SYSTEM_FT_LIB=false
USING_SYSTEM_FT_LIB=true
# Libraries that must appear ahead of libc.so on the link command line
# defines PRODUCT (except Release.gmk), but then they may or may
# generate a unique OBJDIR/CLASSHDRDIR for each build unit based
NULLSTRING :=
# This must be created right away for pattern rules in Sanity.gmk to work.
VPATH0.java = $(GENSRCDIR)$(CLASSPATH_SEPARATOR)$(PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(SHARE_SRC)/classes
VPATH.java = $(CLOSED_PLATFORM_SRC)/classes$(CLASSPATH_SEPARATOR)$(CLOSED_SHARE_SRC)/classes$(CLASSPATH_SEPARATOR)$(VPATH0.java)
# VPATH.h is used elsewhere to generate include flags. By default,
# namely jni.h, jvm.h, and jni_utils.h, plus their platform-specific
# Used in two ways: helps link against libjava.so. Also if overridden
$(RM) $@
$(CP) $< $@
# Cleanup rule for after debug java run (hotspot.log file is left around)
# Create BYFILE OPT and DBG settings, if CFLAGS_OPT/foobar.o is set then it is
export INSANE
$(CP) $< $@