duke@435: # trims@2384: # Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. duke@435: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. duke@435: # duke@435: # This code is free software; you can redistribute it and/or modify it duke@435: # under the terms of the GNU General Public License version 2 only, as duke@435: # published by the Free Software Foundation. duke@435: # duke@435: # This code is distributed in the hope that it will be useful, but WITHOUT duke@435: # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or duke@435: # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License duke@435: # version 2 for more details (a copy is included in the LICENSE file that duke@435: # accompanied this code). duke@435: # duke@435: # You should have received a copy of the GNU General Public License version duke@435: # 2 along with this work; if not, write to the Free Software Foundation, duke@435: # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. duke@435: # trims@1907: # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA trims@1907: # or visit www.oracle.com if you need additional information or have any trims@1907: # questions. duke@435: # duke@435: # duke@435: duke@435: # The common definitions for hotspot linux builds. duke@435: # Include the top level defs.make under make directory instead of this one. duke@435: # This file is included into make/defs.make. duke@435: duke@435: SLASH_JAVA ?= /java duke@435: duke@435: # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name duke@435: ARCH:=$(shell uname -m) duke@435: PATH_SEP = : duke@435: ifeq ($(LP64), 1) duke@435: ARCH_DATA_MODEL ?= 64 duke@435: else duke@435: ARCH_DATA_MODEL ?= 32 duke@435: endif duke@435: never@1445: # zero never@1445: ifeq ($(ZERO_BUILD), true) never@1445: ifeq ($(ARCH_DATA_MODEL), 64) never@1445: MAKE_ARGS += LP64=1 never@1445: endif never@1445: PLATFORM = linux-zero never@1445: VM_PLATFORM = linux_$(subst i386,i486,$(ZERO_LIBARCH)) never@1445: HS_ARCH = zero never@1445: ARCH = zero never@1445: endif never@1445: duke@435: # ia64 duke@435: ifeq ($(ARCH), ia64) duke@435: ARCH_DATA_MODEL = 64 duke@435: MAKE_ARGS += LP64=1 duke@435: PLATFORM = linux-ia64 duke@435: VM_PLATFORM = linux_ia64 duke@435: HS_ARCH = ia64 duke@435: endif duke@435: duke@435: # sparc duke@435: ifeq ($(ARCH), sparc64) duke@435: ifeq ($(ARCH_DATA_MODEL), 64) duke@435: ARCH_DATA_MODEL = 64 duke@435: MAKE_ARGS += LP64=1 duke@435: PLATFORM = linux-sparcv9 duke@435: VM_PLATFORM = linux_sparcv9 duke@435: else duke@435: ARCH_DATA_MODEL = 32 duke@435: PLATFORM = linux-sparc duke@435: VM_PLATFORM = linux_sparc duke@435: endif duke@435: HS_ARCH = sparc duke@435: endif duke@435: duke@435: # x86_64 duke@435: ifeq ($(ARCH), x86_64) duke@435: ifeq ($(ARCH_DATA_MODEL), 64) duke@435: ARCH_DATA_MODEL = 64 duke@435: MAKE_ARGS += LP64=1 duke@435: PLATFORM = linux-amd64 duke@435: VM_PLATFORM = linux_amd64 duke@435: HS_ARCH = x86 duke@435: else duke@435: ARCH_DATA_MODEL = 32 duke@435: PLATFORM = linux-i586 duke@435: VM_PLATFORM = linux_i486 duke@435: HS_ARCH = x86 duke@435: # We have to reset ARCH to i686 since SRCARCH relies on it duke@435: ARCH = i686 duke@435: endif duke@435: endif duke@435: duke@435: # i686 duke@435: ifeq ($(ARCH), i686) duke@435: ARCH_DATA_MODEL = 32 duke@435: PLATFORM = linux-i586 duke@435: VM_PLATFORM = linux_i486 duke@435: HS_ARCH = x86 duke@435: endif duke@435: bobv@2036: # ARM bobv@2036: ifeq ($(ARCH), arm) bobv@2036: ARCH_DATA_MODEL = 32 bobv@2036: PLATFORM = linux-arm bobv@2036: VM_PLATFORM = linux_arm bobv@2036: HS_ARCH = arm bobv@2036: endif bobv@2036: bobv@2036: # PPC bobv@2036: ifeq ($(ARCH), ppc) bobv@2036: ARCH_DATA_MODEL = 32 bobv@2036: PLATFORM = linux-ppc bobv@2036: VM_PLATFORM = linux_ppc bobv@2036: HS_ARCH = ppc bobv@2036: endif bobv@2036: duke@435: JDK_INCLUDE_SUBDIR=linux duke@435: duke@435: # FIXUP: The subdirectory for a debug build is NOT the same on all platforms duke@435: VM_DEBUG=jvmg duke@435: duke@435: EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html kvn@1450: kvn@1450: # client and server subdirectories have symbolic links to ../libjsig.so kvn@1450: EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.so bobv@2036: EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server kvn@1450: bobv@2036: ifndef BUILD_CLIENT_ONLY duke@435: EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt duke@435: EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so bobv@2036: endif bobv@2036: never@1445: ifneq ($(ZERO_BUILD), true) never@1445: ifeq ($(ARCH_DATA_MODEL), 32) never@1445: EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client never@1445: EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt never@1445: EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.so never@1445: endif duke@435: endif bobv@2036: bobv@2036: # Serviceability Binaries bobv@2036: # No SA Support for PPC, IA64, ARM or zero bobv@2036: ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so \ bobv@2036: $(EXPORT_LIB_DIR)/sa-jdi.jar bobv@2036: ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.so \ bobv@2036: $(EXPORT_LIB_DIR)/sa-jdi.jar bobv@2036: ADD_SA_BINARIES/ppc = bobv@2036: ADD_SA_BINARIES/ia64 = bobv@2036: ADD_SA_BINARIES/arm = bobv@2036: ADD_SA_BINARIES/zero = bobv@2036: bobv@2036: EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH)) bobv@2036: bobv@2036: