+##===- tools/lli/Makefile ------------------------------*- Makefile -*-===##
+#
+# The LLVM Compiler Infrastructure
+#
+# This file was developed by the LLVM research group and is distributed under
+# the University of Illinois Open Source License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
LEVEL = ../..
TOOLNAME = lli
-PARALLEL_DIRS = Interpreter JIT
-# Get the config name...
+# Get the $(ARCH) setting
include $(LEVEL)/Makefile.config
# Generic JIT libraries
-JITLIBS = lli-jit codegen
+JITLIBS = lli-jit codegen executionengine
ARCHLIBS =
-# What the X86 JIT requires
-JITLIBS += x86
-# X86 doesn't require any ARCHLIBS
+# 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
+# What the X86 JIT requires
+ifdef ENABLE_X86_JIT
+ CPPFLAGS += -DENABLE_X86_JIT
+ JITLIBS += x86 selectiondag
+ # X86 doesn't require any ARCHLIBS
+endif
+# 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
# What the Sparc JIT requires
-ifeq ($(ARCH),Sparc)
-JITLIBS += sparc
-ARCHLIBS = sched livevar instrument.a profpaths transformutils.a \
- bcwriter transforms.a ipo.a ipa.a datastructure.a regalloc \
- mapping select postopts.a preopts
-
+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 \
+ select
endif
-USEDLIBS = lli-interpreter $(JITLIBS) $(ARCHLIBS) bcreader vmcore scalaropts.a \
- analysis.a support.a target.a
+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 = -ldl
+TOOLLINKOPTS = $(PLATFORMLIBDL)
include $(LEVEL)/Makefile.common