vm.make revision 1879
# Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
# This code is free software; you can redistribute it and/or modify it
# or visit www.oracle.com if you need additional information or have any
# Rules to build JVM and related libraries, included from vm.make in the build
include $(MAKEFILES_DIR)/rules.make
# read machine-specific adjustments (%%% should do this via buildtree.make?)
# Src_Dirs_V is everything in src/share/vm/*, plus the right os/*/vm and cpu/*/vm
# The following variables are defined in the generated flags.make file.
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
CFLAGS += $(CFLAGS/NOEX)
# Math Library (libm.so), do not use -lm.
# There might be two versions of libm.so on the build system:
# explicit here so that the libjvm.so you have built will work on an
# older Solaris release that might not have libm.so.2.
# SC6.1 has it's own libm.so: specifying anything else provokes a name conflict.
JDK_LIBDIR = $(JAVA_HOME)/jre/lib/$(LIBARCH)
include $(MAKEFILES_DIR)/dtrace.make
CORE_PATHS := $(shell find $(GAMMADIR)/src/share/vm/* -type d \! \( -name adlc -o -name c1 -o -name gc_implementation -o -name opto -o -name shark -o -name libadt \))
CORE_PATHS += $(GAMMADIR)/src/os/$(Platform_os_family)/vm
CORE_PATHS += $(GAMMADIR)/src/cpu/$(Platform_arch)/vm
CORE_PATHS += $(GAMMADIR)/src/os_cpu/$(Platform_os_arch)/vm
COMPILER1_PATHS := $(GAMMADIR)/src/share/vm/c1
COMPILER2_PATHS := $(GAMMADIR)/src/share/vm/opto
COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt
Src_Dirs/CORE := $(CORE_PATHS)
Src_Dirs/COMPILER1 := $(CORE_PATHS) $(COMPILER1_PATHS)
Src_Dirs/COMPILER2 := $(CORE_PATHS) $(COMPILER2_PATHS)
Src_Dirs/TIERED := $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS)
Src_Dirs/ZERO := $(CORE_PATHS)
Src_Dirs/SHARK := $(CORE_PATHS)
COMPILER2_SPECIFIC_FILES := opto libadt bcEscapeAnalyzer.cpp chaitin\* c2_\* runtime_\*
Src_Files_EXCLUDE/CORE := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
Src_Files_EXCLUDE/COMPILER1 := $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
Src_Files_EXCLUDE/COMPILER2 := $(COMPILER1_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES)
Src_Files_EXCLUDE/TIERED := $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES)
Src_Files_EXCLUDE/ZERO := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
Src_Files_EXCLUDE/SHARK := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES)
$(notdir $(shell find $(1) \( -name \*.c -o -name \*.cpp -o -name \*.s \) -a \! \( -name DUMMY $(addprefix -o -name ,$(Src_Files_EXCLUDE)) \) ))
LIBJVM.o =
LIBJVM.o = $(JVM_OBJ_FILES)
LINK_VM = $(LINK_LIB.c)
LINK_VM = $(LINK_LIB.CC)
$(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE)
$(QUIETLY) $(LINK_LIB.CC/PRE_HOOK)
$(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM)
$(QUIETLY) $(LINK_LIB.CC/POST_HOOK)
include $(MAKEFILES_DIR)/launcher.make
include $(MAKEFILES_DIR)/jsig.make
include $(MAKEFILES_DIR)/saproc.make