1 LOCAL_PATH:= $(call my-dir) 2 3 # For the host only 4 # ===================================================== 5 include $(CLEAR_VARS) 6 include $(CLEAR_TBLGEN_VARS) 7 8 LOCAL_MODULE := clang 9 10 LOCAL_MODULE_CLASS := EXECUTABLES 11 12 TBLGEN_TABLES := \ 13 DiagnosticCommonKinds.inc \ 14 DiagnosticDriverKinds.inc \ 15 DiagnosticFrontendKinds.inc \ 16 CC1Options.inc \ 17 CC1AsOptions.inc 18 19 clang_SRC_FILES := \ 20 cc1_main.cpp \ 21 cc1as_main.cpp \ 22 driver.cpp 23 24 LOCAL_SRC_FILES := $(clang_SRC_FILES) 25 26 LOCAL_STATIC_LIBRARIES := \ 27 libclangFrontendTool \ 28 libclangFrontend \ 29 libclangARCMigrate \ 30 libclangDriver \ 31 libclangSerialization \ 32 libclangCodeGen \ 33 libclangRewriteFrontend \ 34 libclangRewriteCore \ 35 libclangParse \ 36 libclangSema \ 37 libclangStaticAnalyzerFrontend \ 38 libclangStaticAnalyzerCheckers \ 39 libclangStaticAnalyzerCore \ 40 libclangAnalysis \ 41 libclangEdit \ 42 libclangAST \ 43 libclangLex \ 44 libclangBasic \ 45 libLLVMARMAsmParser \ 46 libLLVMARMCodeGen \ 47 libLLVMARMAsmPrinter \ 48 libLLVMARMDisassembler \ 49 libLLVMARMDesc \ 50 libLLVMARMInfo \ 51 libLLVMMipsAsmParser \ 52 libLLVMMipsCodeGen \ 53 libLLVMMipsDisassembler \ 54 libLLVMMipsAsmPrinter \ 55 libLLVMMipsDesc \ 56 libLLVMMipsInfo \ 57 libLLVMX86Info \ 58 libLLVMX86AsmParser \ 59 libLLVMX86CodeGen \ 60 libLLVMX86Disassembler \ 61 libLLVMX86Desc \ 62 libLLVMX86AsmPrinter \ 63 libLLVMX86Utils \ 64 libLLVMAArch64Info \ 65 libLLVMAArch64AsmParser \ 66 libLLVMAArch64CodeGen \ 67 libLLVMAArch64Disassembler \ 68 libLLVMAArch64Desc \ 69 libLLVMAArch64AsmPrinter \ 70 libLLVMAArch64Utils \ 71 libLLVMIRReader \ 72 libLLVMAsmParser \ 73 libLLVMAsmPrinter \ 74 libLLVMBitReader \ 75 libLLVMBitWriter \ 76 libLLVMSelectionDAG \ 77 libLLVMipo \ 78 libLLVMipa \ 79 libLLVMInstCombine \ 80 libLLVMInstrumentation \ 81 libLLVMCodeGen \ 82 libLLVMObject \ 83 libLLVMLinker \ 84 libLLVMMC \ 85 libLLVMMCParser \ 86 libLLVMScalarOpts \ 87 libLLVMTransformObjCARC \ 88 libLLVMTransformUtils \ 89 libLLVMVectorize \ 90 libLLVMAnalysis \ 91 libLLVMCore \ 92 libLLVMOption \ 93 libLLVMSupport \ 94 libLLVMTarget \ 95 libLLVMProfileData \ 96 libLLVMObject 97 98 LOCAL_LDLIBS += -lm 99 ifdef USE_MINGW 100 LOCAL_LDLIBS += -limagehlp 101 else 102 LOCAL_LDLIBS += -lpthread -ldl 103 endif 104 105 include $(CLANG_HOST_BUILD_MK) 106 include $(CLANG_TBLGEN_RULES_MK) 107 include $(BUILD_HOST_EXECUTABLE) 108 109 ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS)) 110 # Make sure if clang (i.e. $(LOCAL_MODULE)) get installed, 111 # clang++ will get installed as well. 112 ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ 113 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(CLANG_CXX) 114 # the additional dependency is needed when you run mm/mmm. 115 $(LOCAL_MODULE) : $(CLANG_CXX) 116 CLANG_ARM_NEON_H := $(TARGET_OUT_HEADERS)/clang/arm_neon.h 117 $(LOCAL_MODULE) : $(CLANG_ARM_NEON_H) 118 119 # Symlink for clang++ 120 $(CLANG_CXX) : $(LOCAL_INSTALLED_MODULE) 121 @echo "Symlink $@ -> $<" 122 $(hide) ln -sf $(notdir $<) $@ 123 endif 124