about summary refs log tree commit diff homepage
path: root/Makefile.common
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.common')
-rw-r--r--Makefile.common18
1 files changed, 15 insertions, 3 deletions
diff --git a/Makefile.common b/Makefile.common
index 92f5118b..268de9f8 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -5,7 +5,8 @@ include $(LEVEL)/Makefile.config
 # Include LLVM's Master Makefile config and rules.
 include $(LLVM_OBJ_ROOT)/Makefile.config
 
-ifeq ($(BYTECODE_LIBRARY), 1)
+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,
@@ -18,15 +19,27 @@ 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
 
@@ -38,10 +51,9 @@ endif
 # This is filename that KLEE will look for when trying to load klee-uclibc
 KLEE_UCLIBC_BCA_NAME="klee-uclibc.bca"
 
-LD.Flags += $(STP_LDFLAGS)
 CXX.Flags += $(STP_CFLAGS)
 CXX.Flags += -DKLEE_DIR=\"$(PROJ_OBJ_ROOT)\" -DKLEE_INSTALL_BIN_DIR=\"$(PROJ_bindir)\"
-CXX.Flags += -DKLEE_INSTALL_LIB_DIR=\"$(PROJ_libdir)\"
+CXX.Flags += -DKLEE_INSTALL_RUNTIME_DIR=\"$(BYTECODE_DESTINATION)\"
 
 ifeq ($(ENABLE_UCLIBC),1)
 	CXX.Flags += -DKLEE_UCLIBC_BCA_NAME=\"$(KLEE_UCLIBC_BCA_NAME)\"