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