diff options
Diffstat (limited to 'Makefile.common')
-rw-r--r-- | Makefile.common | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/Makefile.common b/Makefile.common deleted file mode 100644 index 0eb741ea..00000000 --- a/Makefile.common +++ /dev/null @@ -1,93 +0,0 @@ -# -*- Makefile -*- - -include $(LEVEL)/Makefile.config - -# Include LLVM's Master Makefile config and rules. -include $(LLVM_OBJ_ROOT)/Makefile.config - -# Filters out -fstack-protector-strong which is not understood by clang 3.4 or below -# yet is present in Makefile.config of some distros such as Debian Jessie -ifeq ($(shell test $(LLVM_VERSION_MAJOR) -le 3 -a $(LLVM_VERSION_MINOR) -le 4; echo $$?),0) - CFLAGS := $(filter-out -fstack-protector-strong,$(CFLAGS)) - CXXFLAGS := $(filter-out -fstack-protector-strong,$(CXXFLAGS)) -endif - -# Assertions should be enabled by default for KLEE (but they can still -# be disabled by running make with DISABLE_ASSERTIONS=1 -DISABLE_ASSERTIONS := 0 - -BUILDING_RUNTIME:=$(if $(or $(BYTECODE_LIBRARY),$(MODULE_NAME)),1,0) -ifeq ($(BUILDING_RUNTIME),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) -override DEBUG_SYMBOLS := $(RUNTIME_DEBUG_SYMBOLS) -endif -BYTECODE_DESTINATION:=$(DESTDIR)$(PROJ_libdir)/klee/runtime - -include $(PROJ_SRC_ROOT)/Makefile.rules - -# We have to build the bytecode install directory manually. -# FIXME: Doing it this way is potentially racey! -install:: - $(MKDIR) $(BYTECODE_DESTINATION) - -# LLVMCC was added in 2.7. -ifeq ($(LLVMCC),) -LLVMCC := $(LLVMGCC) -LLVMCXX := $(LLVMGXX) -endif - -# Deliberately override the host compiler -# so that we use what was detected when KLEE was configured -# and not LLVM. -CC := $(KLEE_HOST_C_COMPILER) -CXX := $(KLEE_HOST_CXX_COMPILER) - -# Needed to build runtime library using clang (gnu89 is the gcc default) -C.Flags += -std=gnu89 - -# Build using C++11 if requested -ifeq ($(KLEE_USE_CXX11),1) - CXX.Flags += -std=c++11 -endif - -# This is filename that KLEE will look for when trying to load klee-uclibc -KLEE_UCLIBC_BCA_NAME="klee-uclibc.bca" - -ifneq ($(ENABLE_STP),0) - CXX.Flags += $(STP_CFLAGS) - CXX.Flags += -DEXT_HASH_MAP -endif - -ifneq ($(ENABLE_Z3),0) - CXX.Flags += $(Z3_CFLAGS) -endif - -CXX.Flags += -DKLEE_DIR=\"$(PROJ_OBJ_ROOT)\" -DKLEE_INSTALL_BIN_DIR=\"$(PROJ_bindir)\" -CXX.Flags += -DKLEE_INSTALL_RUNTIME_DIR=\"$(BYTECODE_DESTINATION)\" - -ifeq ($(ENABLE_UCLIBC),1) - CXX.Flags += -DKLEE_UCLIBC_BCA_NAME=\"$(KLEE_UCLIBC_BCA_NAME)\" -endif - -# For metaSMT -include $(PROJ_SRC_ROOT)/MetaSMT.mk - -# When building the runtime filter out unwanted flags. -# that add instrumentatation because KLEE can't handle this. -ifneq ("X$(MODULE_NAME)$(BYTECODE_LIBRARY)X","XX") - # Sanitizer flags. - CFLAGS := $(filter-out -fsanitize=%,$(CFLAGS)) - # Coverag flags. - CFLAGS := $(filter-out -fprofile-arcs,$(CFLAGS)) - CFLAGS := $(filter-out -ftest-coverage,$(CFLAGS)) - CFLAGS := $(filter-out -coverage,$(CFLAGS)) - CFLAGS := $(filter-out --coverage,$(CFLAGS)) -endif |