#===-- Makefile.config.in - Config rules for LLVM-TV -------*- 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@

# PoolAlloc source and object directories.
POOLALLOC_SRC_ROOT = @POOLALLOC_SRC@
POOLALLOC_OBJ_ROOT = @POOLALLOC_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.config

# Set SourceDir for backwards compatbility.
ifndef SourceDir
SourceDir=$(PROJ_SRC_DIR)
endif
