1LOCAL_PATH := $(call my-dir) 2LLVM_ROOT_PATH := external/llvm 3CLANG_ROOT_PATH := external/clang 4llvm_static_libs_needed := \ 5 libclangFrontend \ 6 libclangDriver \ 7 libclangSerialization \ 8 libclangParse \ 9 libclangSema \ 10 libclangAnalysis \ 11 libclangCodeGen \ 12 libclangAST \ 13 libclangLex \ 14 libclangEdit \ 15 libclangBasic \ 16 libLLVMLinker \ 17 libLLVMipo \ 18 libLLVMBitWriter \ 19 libLLVMBitReader \ 20 libLLVMARMCodeGen \ 21 libLLVMARMInfo \ 22 libLLVMARMAsmParser \ 23 libLLVMARMDesc \ 24 libLLVMARMAsmPrinter \ 25 libLLVMX86CodeGen \ 26 libLLVMX86Info \ 27 libLLVMX86Desc \ 28 libLLVMX86AsmParser \ 29 libLLVMX86AsmPrinter \ 30 libLLVMX86Utils \ 31 libLLVMMipsCodeGen \ 32 libLLVMMipsInfo \ 33 libLLVMMipsDesc \ 34 libLLVMMipsAsmParser \ 35 libLLVMMipsAsmPrinter \ 36 libLLVMAsmPrinter \ 37 libLLVMSelectionDAG \ 38 libLLVMCodeGen \ 39 libLLVMScalarOpts \ 40 libLLVMInstCombine \ 41 libLLVMInstrumentation \ 42 libLLVMTransformUtils \ 43 libLLVMipa \ 44 libLLVMAnalysis \ 45 libLLVMTarget \ 46 libLLVMMC \ 47 libLLVMMCParser \ 48 libLLVMCore \ 49 libLLVMArchive \ 50 libLLVMAsmParser \ 51 libLLVMSupport \ 52 libLLVMVectorize 53 54# ======================================================== 55# Static library libndkpc for host 56# ======================================================== 57include $(CLEAR_VARS) 58include $(CLEAR_TBLGEN_VARS) 59 60include $(CLANG_ROOT_PATH)/clang.mk 61 62LOCAL_MODULE := libndkpc 63LOCAL_MODULE_TAGS := optional 64 65LOCAL_CFLAGS += -Wno-sign-promo 66ifneq ($(TARGET_BUILD_VARIANT),eng) 67LOCAL_CFLAGS += -D__DISABLE_ASSERTS 68endif 69 70TBLGEN_TABLES := \ 71 AttrList.inc \ 72 Attrs.inc \ 73 CommentNodes.inc \ 74 DeclNodes.inc \ 75 DiagnosticCommonKinds.inc \ 76 DiagnosticFrontendKinds.inc \ 77 DiagnosticSemaKinds.inc \ 78 StmtNodes.inc 79 80LOCAL_SRC_FILES := \ 81 Compiler.cpp \ 82 Backend.cpp 83 84LOCAL_LDLIBS := -ldl -lpthread 85 86include $(CLANG_HOST_BUILD_MK) 87include $(CLANG_TBLGEN_RULES_MK) 88include $(LLVM_GEN_INTRINSICS_MK) 89include $(BUILD_HOST_STATIC_LIBRARY) 90 91# ======================================================== 92# Executable llvm-ndk-cc for host 93# ======================================================== 94include $(CLEAR_VARS) 95include $(CLEAR_TBLGEN_VARS) 96 97LOCAL_IS_HOST_MODULE := true 98LOCAL_MODULE := llvm-ndk-cc 99LOCAL_MODULE_TAGS := optional 100 101LOCAL_MODULE_CLASS := EXECUTABLES 102 103LOCAL_CFLAGS += -Wno-sign-promo 104ifneq ($(TARGET_BUILD_VARIANT),eng) 105LOCAL_CFLAGS += -D__DISABLE_ASSERTS 106endif 107 108TBLGEN_TABLES := \ 109 AttrList.inc \ 110 Attrs.inc \ 111 CommentNodes.inc \ 112 DeclNodes.inc \ 113 DiagnosticCommonKinds.inc \ 114 DiagnosticDriverKinds.inc \ 115 DiagnosticFrontendKinds.inc \ 116 DiagnosticSemaKinds.inc \ 117 StmtNodes.inc 118 119LOCAL_SRC_FILES := \ 120 llvm-ndk-cc.cpp 121 122LOCAL_STATIC_LIBRARIES := \ 123 libclangDriver libndkpc \ 124 $(llvm_static_libs_needed) 125 126ifeq ($(HOST_OS),windows) 127 LOCAL_LDLIBS := -limagehlp -lpsapi 128else 129 LOCAL_LDLIBS := -ldl -lpthread 130endif 131 132include $(CLANG_HOST_BUILD_MK) 133include $(CLANG_TBLGEN_RULES_MK) 134include $(BUILD_HOST_EXECUTABLE) 135 136# ======================================================== 137# Executable llvm-ndk-link for host 138# ======================================================== 139include $(CLEAR_VARS) 140 141LOCAL_IS_HOST_MODULE := true 142LOCAL_MODULE := llvm-ndk-link 143LOCAL_MODULE_TAGS := optional 144LOCAL_MODULE_CLASS := EXECUTABLES 145 146LOCAL_SRC_FILES := llvm-ndk-link.cpp 147 148LOCAL_LDLIBS := -ldl -lpthread 149 150LOCAL_STATIC_LIBRARIES := \ 151 $(llvm_static_libs_needed) 152 153include $(CLANG_ROOT_PATH)/clang.mk 154include $(CLANG_HOST_BUILD_MK) 155include $(LLVM_ROOT_PATH)/llvm.mk 156include $(LLVM_HOST_BUILD_MK) 157 158include $(BUILD_HOST_EXECUTABLE) 159