# -*- Makefile -*-

include $(LEVEL)/Makefile.config

# Include LLVM's Master Makefile config and rules.
include $(LLVM_OBJ_ROOT)/Makefile.config

ifeq ($(BYTECODE_LIBRARY), 1)
#
# Override make variables based on the runtime configuration. We want
# to override whatever the user may have said on the command line,
# hence the use of override.
#

override ENABLE_OPTIMIZED := $(RUNTIME_ENABLE_OPTIMIZED)
override DISABLE_ASSERTIONS := $(RUNTIME_DISABLE_ASSERTIONS)
override ENABLE_PROFILING := $(RUNTIME_ENABLE_PROFILING)
override ENABLE_COVERAGE := $(RUNTIME_ENABLE_COVERAGE)
endif

include $(PROJ_SRC_ROOT)/Makefile.rules

# LLVMCC was added in 2.7.
ifeq ($(LLVMCC),)
LLVMCC := $(LLVMGCC)
LLVMCXX := $(LLVMGXX)
endif

# Needed to build runtime library using clang (gnu89 is the gcc default)
C.Flags += -std=gnu89

LD.Flags += -L$(STP_ROOT)/lib
CXX.Flags += -I$(STP_ROOT)/include
CXX.Flags += -DKLEE_DIR=\"$(PROJ_OBJ_ROOT)\" -DKLEE_LIB_DIR=\"$(PROJ_libdir)\"

# For STP.
CXX.Flags += -DEXT_HASH_MAP
