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 libLLVMObject 61 62 llvm_llc_aarch64_STATIC_LIBRARIES := \ 63 libLLVMAArch64Info \ 64 libLLVMAArch64AsmParser \ 65 libLLVMAArch64CodeGen \ 66 libLLVMAArch64Disassembler \ 67 libLLVMAArch64Desc \ 68 libLLVMAArch64AsmPrinter \ 69 libLLVMAArch64Utils 70 71 72 73 #===---------------------------------------------------------------=== 74 # llc command line tool (host) 75 #===---------------------------------------------------------------=== 76 77 include $(CLEAR_VARS) 78 79 LOCAL_MODULE := llc 80 LOCAL_MODULE_TAGS := optional 81 LOCAL_MODULE_CLASS := EXECUTABLES 82 LOCAL_IS_HOST_MODULE := true 83 84 LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES) 85 86 LOCAL_STATIC_LIBRARIES := \ 87 $(llvm_llc_arm_STATIC_LIBRARIES) \ 88 $(llvm_llc_mips_STATIC_LIBRARIES) \ 89 $(llvm_llc_x86_STATIC_LIBRARIES) \ 90 $(llvm_llc_aarch64_STATIC_LIBRARIES) \ 91 $(llvm_llc_STATIC_LIBRARIES) 92 93 LOCAL_LDLIBS += -lpthread -lm -ldl 94 95 include $(LLVM_ROOT_PATH)/llvm.mk 96 include $(LLVM_HOST_BUILD_MK) 97 include $(LLVM_GEN_INTRINSICS_MK) 98 include $(BUILD_HOST_EXECUTABLE) 99 100 101 #===---------------------------------------------------------------=== 102 # llc command line tool (target) 103 #===---------------------------------------------------------------=== 104 105 ifeq (,$(filter $(TARGET_ARCH),$(LLVM_SUPPORTED_ARCH))) 106 $(warning TODO $(TARGET_ARCH): Enable llc build) 107 endif 108 109 ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS)) 110 include $(CLEAR_VARS) 111 112 LOCAL_MODULE := llc 113 LOCAL_MODULE_TAGS := optional 114 LOCAL_MODULE_CLASS := EXECUTABLES 115 116 LOCAL_SRC_FILES := $(llvm_llc_SRC_FILES) 117 LOCAL_C_INCLUDES += external/llvm/include 118 119 LOCAL_STATIC_LIBRARIES_arm += $(llvm_llc_arm_STATIC_LIBRARIES) 120 LOCAL_STATIC_LIBRARIES_mips += $(llvm_llc_mips_STATIC_LIBRARIES) 121 LOCAL_STATIC_LIBRARIES_x86 += $(llvm_llc_x86_STATIC_LIBRARIES) 122 LOCAL_STATIC_LIBRARIES_x86_64 += $(llvm_llc_x86_STATIC_LIBRARIES) 123 LOCAL_STATIC_LIBRARIES_arm64 += $(llvm_llc_aarch64_STATIC_LIBRARIES) 124 LOCAL_STATIC_LIBRARIES_arm64 += $(llvm_llc_arm_STATIC_LIBRARIES) 125 126 LOCAL_STATIC_LIBRARIES += $(llvm_llc_STATIC_LIBRARIES) 127 128 LOCAL_SHARED_LIBRARIES := \ 129 libcutils \ 130 libdl \ 131 libc++ 132 133 include $(LLVM_ROOT_PATH)/llvm.mk 134 include $(LLVM_DEVICE_BUILD_MK) 135 include $(LLVM_GEN_INTRINSICS_MK) 136 include $(BUILD_EXECUTABLE) 137 endif 138