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