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