aboutsummaryrefslogtreecommitdiff
path: root/tools/lli/Makefile
blob: 666a1f69b54b85d91612645e8d7298b19c8096df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
LEVEL = ../..
TOOLNAME = lli
PARALLEL_DIRS = Interpreter JIT

# Get the $(ARCH) setting
include $(LEVEL)/Makefile.config

# Generic JIT libraries
JITLIBS   = lli-jit codegen
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
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) 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