#===-- Makefile.common - Common make rules for LLVM -------*- makefile -*---====
#
#                     The LLVM Compiler Infrastructure
#
# This file was developed by the LLVM research group and is distributed under
# the University of Illinois Open Source License. See LICENSE.TXT for details.
#
#===-------------------------------------------------------------------------===

PROJECT_NAME = @PACKAGE_NAME@
PROJ_VERSION = @PACKAGE_VERSION@

# Set this variable to the top of the LLVM source tree.
LLVM_SRC_ROOT = @LLVM_SRC@

# Set this variable to the top level directory where LLVM was built
# (this is *not* the same as OBJ_ROOT as defined in LLVM's Makefile.config).
LLVM_OBJ_ROOT = @LLVM_OBJ@

# Set the directory root of this project's source files
PROJ_SRC_ROOT := $(subst //,/,@abs_top_srcdir@)

# Set the root directory of this project's object files
PROJ_OBJ_ROOT := $(subst //,/,@abs_top_builddir@)

# Set the root directory of this project's install prefix
PROJ_INSTALL_ROOT := @prefix@

# Include LLVM's Master Makefile.
include $(LLVM_OBJ_ROOT)/Makefile.common

# GNU classpath variables
CLASSPATH_JAVA_LIBRARY_PATH=@CLASSPATH_JAVA_LIBRARY_PATH@
CLASSPATH_NATIVE_LIBRARY_PATH=@CLASSPATH_NATIVE_LIBRARY_PATH@
CLASSPATH_NATIVE_LIBS=@CLASSPATH_NATIVE_LIBS@

# Additional utilities
JAVA=@JAVA@
JAVAC=@JAVAC@
JAVAH=@JAVAH@

# Include local build rules.
include $(PROJ_SRC_ROOT)/Makefile.rules
