Include the new selection library for the X86 target
[oota-llvm.git] / tools / lli / Makefile
index 3e70896c291cd56116817e92d7bb8c715ec7e86f..cc84a6ce5e70f1e668d83fc29cba1fc89a67bdad 100644 (file)
@@ -1,20 +1,50 @@
 LEVEL = ../..
 TOOLNAME = lli
-USEDLIBS = opt bcreader bcwriter vmcore asmwriter analysis support \
-          target transforms
-TOOLLINKOPTS = -ldl
+PARALLEL_DIRS = Interpreter JIT
 
-include $(LEVEL)/Makefile.common
+# Get the $(ARCH) setting
+include $(LEVEL)/Makefile.config
+
+# Generic JIT libraries
+JITLIBS   = lli-jit codegen
+ARCHLIBS  =
 
-all :: $(LEVEL)/tools/Debug/RuntimeLib.bc
+# You can enable the X86 JIT on a non-X86 host by setting the flag
+# ENABLE_X86_JIT on the make command line. If not, it will still be
+# enabled automagically on an X86 host.
+ifeq ($(ARCH), x86)
+  ENABLE_X86_JIT = 1
+endif
 
-Debug/RuntimeLib.c: RuntimeLib.lc
-       cp -f $< $@
+# What the X86 JIT requires
+ifdef ENABLE_X86_JIT
+  CPPFLAGS += -DENABLE_X86_JIT
+  JITLIBS  += x86 selection
+  # X86 doesn't require any ARCHLIBS
+endif
 
-Debug/RuntimeLib.o: Debug/RuntimeLib.c
-       /home/vadve/lattner/cvs/gcc_install/bin/gcc $< -c -o $@
+# You can enable the Sparc JIT on a non-Sparc host by setting the flag
+# ENABLE_SPARC_JIT on the make command line. If not, it will still be
+# enabled automagically on an Sparc host.
+ifeq ($(ARCH), Sparc)
+  ENABLE_SPARC_JIT = 1
+endif
 
-$(LEVEL)/tools/Debug/RuntimeLib.bc: Debug/RuntimeLib.o
-       ../Debug/opt -dce $< -o $@ -f -q
+# What the Sparc JIT requires
+ifdef ENABLE_SPARC_JIT
+  CPPFLAGS += -DENABLE_SPARC_JIT
+  JITLIBS  += sparc 
+  ARCHLIBS += sched livevar instrument.a profpaths \
+              bcwriter transforms.a ipo.a ipa.a datastructure.a regalloc \
+              mapping select postopts.a preopts
+endif
 
+USEDLIBS = lli-interpreter $(JITLIBS) $(ARCHLIBS) scalaropts analysis.a \
+           transformutils.a bcreader vmcore support target.a
 
+# Have gcc tell the linker to export symbols from the program so that
+# dynamically loaded modules can be linked against them.
+#
+TOOLLINKOPTS = $(PLATFORMLIBDL)
+
+include $(LEVEL)/Makefile.common