PROJECT_NAME := safecode
PROJ_VERSION := 1.0

# 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 source root and source directory pathnames
####PROJ_SRC_DIR := $(subst //,/,@abs_top_srcdir@/$(patsubst $(PROJ_OBJ_ROOT)%,%,$(PROJ_OBJ_DIR)))

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@

# Set the location of the pool allocation project
POOLALLOC_SRCDIR := @poolallocsrcdir@
POOLALLOC_OBJDIR := @poolallocobjdir@

# Set the location of the LLVM Test Suite
TEST_SRCDIR := @testsrcdir@
TEST_OBJDIR := @testobjdir@

# Set flag indicating whether we should use libLTO when running test 
# in the test suite.  Note that this flag doesn't control whether we 
# build with libLTO, only if we use it in tests.

USE_LTO := @enable_lto_tests@

# All of the code should additionally look inside the pool allocation source
# code for include files
#SC_FLAGS = -DSAFECODE -I$(POOLALLOC_SRCDIR)/include -I$(POOLALLOC_OBJDIR)/include -Werror -Wall -pedantic
SC_FLAGS = -DSAFECODE -I$(POOLALLOC_SRCDIR)/include -I$(POOLALLOC_OBJDIR)/include -Wall -pedantic
# Code won't compile on newer gcc (4.4) due to strict aliasing violations
SC_FLAGS += -fno-strict-aliasing
CFLAGS   += $(SC_FLAGS)
CPPFLAGS += $(SC_FLAGS)
CXXFLAGS += $(SC_FLAGS) -Wno-deprecated
LIBS     += @LIBS@

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

