summaryrefslogtreecommitdiff
path: root/tools/lli/Makefile
blob: 72cb3d6f82f3dc4f9504ca42f605bf8c05086874 (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
51
52
53
54
55
56
57
##===- 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

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

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