• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1LOCAL_PATH := $(call my-dir)
2
3LLVM_ROOT_PATH := $(LOCAL_PATH)/../..
4
5
6#===---------------------------------------------------------------===
7# llc command line tool (common)
8#===---------------------------------------------------------------===
9
10llvm_llc_SRC_FILES := \
11  llc.cpp
12
13llvm_llc_mips_STATIC_LIBRARIES := \
14  libLLVMMipsAsmParser \
15  libLLVMMipsInfo \
16  libLLVMMipsCodeGen \
17  libLLVMMipsDesc \
18  libLLVMMipsAsmPrinter \
19
20llvm_llc_x86_STATIC_LIBRARIES := \
21  libLLVMX86Info \
22  libLLVMX86AsmParser \
23  libLLVMX86CodeGen \
24  libLLVMX86Disassembler \
25  libLLVMX86Desc \
26  libLLVMX86AsmPrinter \
27  libLLVMX86Utils
28
29llvm_llc_arm_STATIC_LIBRARIES := \
30  libLLVMARMCodeGen \
31  libLLVMARMDisassembler \
32  libLLVMARMAsmParser \
33  libLLVMARMAsmPrinter \
34  libLLVMARMDesc \
35  libLLVMARMInfo
36
37llvm_llc_STATIC_LIBRARIES := \
38  libLLVMAsmPrinter \
39  libLLVMAsmParser \
40  libLLVMBitReader \
41  libLLVMBitWriter \
42  libLLVMSelectionDAG \
43  libLLVMInstCombine \
44  libLLVMInstrumentation \
45  libLLVMCodeGen \
46  libLLVMipo \
47  libLLVMipa \
48  libLLVMLinker \
49  libLLVMMC \
50  libLLVMMCParser \
51  libLLVMScalarOpts \
52  libLLVMTransformUtils \
53  libLLVMVectorize \
54  libLLVMAnalysis \
55  libLLVMTarget \
56  libLLVMCore \
57  libLLVMSupport
58
59
60#===---------------------------------------------------------------===
61# llc command line tool (host)
62#===---------------------------------------------------------------===
63
64include $(CLEAR_VARS)
65
66LOCAL_MODULE := llc
67LOCAL_MODULE_TAGS := optional
68LOCAL_MODULE_CLASS := EXECUTABLES
69LOCAL_IS_HOST_MODULE := true
70
71LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES)
72
73LOCAL_STATIC_LIBRARIES := \
74  $(llvm_llc_arm_STATIC_LIBRARIES) \
75  $(llvm_llc_mips_STATIC_LIBRARIES) \
76  $(llvm_llc_x86_STATIC_LIBRARIES) \
77  $(llvm_llc_STATIC_LIBRARIES)
78
79LOCAL_LDLIBS += -lpthread -lm -ldl
80LOCAL_C_INCLUDES += external/llvm/include
81
82include $(LLVM_ROOT_PATH)/llvm.mk
83include $(LLVM_HOST_BUILD_MK)
84include $(LLVM_GEN_INTRINSICS_MK)
85include $(BUILD_HOST_EXECUTABLE)
86
87
88#===---------------------------------------------------------------===
89# llc command line tool (target)
90#===---------------------------------------------------------------===
91
92include $(CLEAR_VARS)
93
94LOCAL_MODULE := llc
95LOCAL_MODULE_TAGS := optional
96LOCAL_MODULE_CLASS := EXECUTABLES
97
98LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES)
99LOCAL_C_INCLUDES += external/llvm/include
100
101ifeq ($(TARGET_ARCH),arm)
102  LOCAL_STATIC_LIBRARIES := $(llvm_llc_arm_STATIC_LIBRARIES)
103else
104  ifeq ($(TARGET_ARCH),mips)
105    LOCAL_STATIC_LIBRARIES := $(llvm_llc_mips_STATIC_LIBRARIES)
106  else
107    ifeq ($(TARGET_ARCH),x86)
108      LOCAL_STATIC_LIBRARIES := $(llvm_llc_x86_STATIC_LIBRARIES)
109    else
110      $(error "Unsupport llc target $(TARGET_ARCH)")
111    endif
112  endif
113endif
114
115LOCAL_STATIC_LIBRARIES += $(llvm_llc_STATIC_LIBRARIES)
116
117LOCAL_SHARED_LIBRARIES :=  \
118  libcutils  \
119  libdl  \
120  libstlport
121
122include $(LLVM_ROOT_PATH)/llvm.mk
123include $(LLVM_DEVICE_BUILD_MK)
124include $(LLVM_GEN_INTRINSICS_MK)
125include $(BUILD_EXECUTABLE)
126