1150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5LoganLOCAL_PATH:= $(call my-dir) 2150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan 3150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan# For the host only 4150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan# ===================================================== 5150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Loganinclude $(CLEAR_VARS) 6150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Loganinclude $(CLEAR_TBLGEN_VARS) 7150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan 8ac774a74e9ac234cb38c90ede73b337a8b1a629dLoganLOCAL_MODULE := clang 9150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan 10b2dad2eb089019c73935e568087a03be1653d140LoganLOCAL_MODULE_CLASS := EXECUTABLES 11b2dad2eb089019c73935e568087a03be1653d140Logan 12150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5LoganTBLGEN_TABLES := \ 13150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan DiagnosticCommonKinds.inc \ 14150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan DiagnosticDriverKinds.inc \ 15150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan DiagnosticFrontendKinds.inc \ 16150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan CC1Options.inc \ 17150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan CC1AsOptions.inc 18150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan 19150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Loganclang_SRC_FILES := \ 20150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan cc1_main.cpp \ 21150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan cc1as_main.cpp \ 22150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan driver.cpp 23150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan 24150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5LoganLOCAL_SRC_FILES := $(clang_SRC_FILES) 25150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan 26150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5LoganLOCAL_STATIC_LIBRARIES := \ 27150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangFrontendTool \ 28150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangFrontend \ 298f00e2be0e639dcacb2719f34b24d5387fe32f93Shih-wei Liao libclangARCMigrate \ 30150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangDriver \ 31150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangSerialization \ 32150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangCodeGen \ 33e5cc4c967178669dd19832bc0fb03b293d5d969fStephen Hines libclangRewriteFrontend \ 34e5cc4c967178669dd19832bc0fb03b293d5d969fStephen Hines libclangRewriteCore \ 35150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangParse \ 36150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangSema \ 37d271e4b0c6c42a0e670226e697963df427e35a56Logan Chien libclangStaticAnalyzerFrontend \ 38d271e4b0c6c42a0e670226e697963df427e35a56Logan Chien libclangStaticAnalyzerCheckers \ 39d271e4b0c6c42a0e670226e697963df427e35a56Logan Chien libclangStaticAnalyzerCore \ 40150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangAnalysis \ 41560ad31c413724fafd13d6fd723e403f28daa132Shih-wei Liao libclangEdit \ 42150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangAST \ 43150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangLex \ 44150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libclangBasic \ 45150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMARMAsmParser \ 46150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMARMCodeGen \ 4779525fbe7b9bdf64a79a8d20cff2147702eae738Stephen Hines libLLVMARMAsmPrinter \ 48150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMARMDisassembler \ 490a9399c6726563f480537649e6f28da5186c4b78Nowar Gu libLLVMARMDesc \ 5050b2af40295eadba516c5e85ec1bb3443d64aae3Logan Chien libLLVMARMInfo \ 51cb9b577d473e0af82e3fadf0c7b85cd04b3018a7Logan Chien libLLVMMipsAsmParser \ 5250b2af40295eadba516c5e85ec1bb3443d64aae3Logan Chien libLLVMMipsCodeGen \ 53cb9b577d473e0af82e3fadf0c7b85cd04b3018a7Logan Chien libLLVMMipsDisassembler \ 5450b2af40295eadba516c5e85ec1bb3443d64aae3Logan Chien libLLVMMipsAsmPrinter \ 5550b2af40295eadba516c5e85ec1bb3443d64aae3Logan Chien libLLVMMipsDesc \ 5650b2af40295eadba516c5e85ec1bb3443d64aae3Logan Chien libLLVMMipsInfo \ 57150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMX86Info \ 58150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMX86AsmParser \ 59150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMX86CodeGen \ 60150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMX86Disassembler \ 610a9399c6726563f480537649e6f28da5186c4b78Nowar Gu libLLVMX86Desc \ 62fe6bd6dc51777802a0118521b9039981a0e6a806Logan Chien libLLVMX86AsmPrinter \ 63d271e4b0c6c42a0e670226e697963df427e35a56Logan Chien libLLVMX86Utils \ 644652e307dc8fc772d0df8c6c434613884fe0feecStephen Hines libLLVMAArch64Info \ 654652e307dc8fc772d0df8c6c434613884fe0feecStephen Hines libLLVMAArch64AsmParser \ 664652e307dc8fc772d0df8c6c434613884fe0feecStephen Hines libLLVMAArch64CodeGen \ 674652e307dc8fc772d0df8c6c434613884fe0feecStephen Hines libLLVMAArch64Disassembler \ 684652e307dc8fc772d0df8c6c434613884fe0feecStephen Hines libLLVMAArch64Desc \ 694652e307dc8fc772d0df8c6c434613884fe0feecStephen Hines libLLVMAArch64AsmPrinter \ 704652e307dc8fc772d0df8c6c434613884fe0feecStephen Hines libLLVMAArch64Utils \ 71b491e684395ee19123abdd73b75776fea966d8cfStephen Hines libLLVMIRReader \ 72150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMAsmParser \ 73150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMAsmPrinter \ 74150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMBitReader \ 75150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMBitWriter \ 76150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMSelectionDAG \ 77fe6bd6dc51777802a0118521b9039981a0e6a806Logan Chien libLLVMipo \ 78fe6bd6dc51777802a0118521b9039981a0e6a806Logan Chien libLLVMipa \ 79150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMInstCombine \ 800c115a16d479c7cda12c66bceb3782fd45177481Nowar Gu libLLVMInstrumentation \ 81150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMCodeGen \ 823a936caf79bc7448ac5ec60c14faeb87c74e5392Stephen Hines libLLVMObject \ 83150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMLinker \ 84150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMMC \ 85150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMMCParser \ 86150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMScalarOpts \ 87bd3aca04d304b9f31240b94af0aad818f6f932abStephen Hines libLLVMTransformObjCARC \ 88150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMTransformUtils \ 89361035524dc26094825134f30c07311f38f4f8b1Stephen Hines libLLVMVectorize \ 90150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMAnalysis \ 91150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMCore \ 92a902511dd22624b15cc61e36d167d1cf3549bc74Stephen Hines libLLVMOption \ 93150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan libLLVMSupport \ 946bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines libLLVMTarget \ 956bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines libLLVMProfileData \ 966bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines libLLVMObject 97150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan 98177982bea7e4ccffd2577c8f63a5872eebebe54bStephen HinesLOCAL_LDLIBS += -lm 99177982bea7e4ccffd2577c8f63a5872eebebe54bStephen Hinesifdef USE_MINGW 100177982bea7e4ccffd2577c8f63a5872eebebe54bStephen HinesLOCAL_LDLIBS += -limagehlp 101177982bea7e4ccffd2577c8f63a5872eebebe54bStephen Hineselse 102177982bea7e4ccffd2577c8f63a5872eebebe54bStephen HinesLOCAL_LDLIBS += -lpthread -ldl 103177982bea7e4ccffd2577c8f63a5872eebebe54bStephen Hinesendif 104150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan 105150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Loganinclude $(CLANG_HOST_BUILD_MK) 106150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Loganinclude $(CLANG_TBLGEN_RULES_MK) 107150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Loganinclude $(BUILD_HOST_EXECUTABLE) 108952626a19a1c58e405be194854566b76a35b6063Andrew Hsieh 109ce5d5dc827d36f09a1df7d1bec48b0bb429d6afaStephen Hinesifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS)) 110e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang# Make sure if clang (i.e. $(LOCAL_MODULE)) get installed, 111e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang# clang++ will get installed as well. 112e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying WangALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ 113e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(CLANG_CXX) 114e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang# the additional dependency is needed when you run mm/mmm. 11517fe6b86205261afc93f7689a73da21a83e0cc65Tim Murray$(LOCAL_MODULE) : $(CLANG_CXX) 116ef8225444452a1486bd721f3285301fe84643b00Stephen HinesCLANG_ARM_NEON_H := $(TARGET_OUT_HEADERS)/clang/arm_neon.h 117ef8225444452a1486bd721f3285301fe84643b00Stephen Hines$(LOCAL_MODULE) : $(CLANG_ARM_NEON_H) 118e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang 119952626a19a1c58e405be194854566b76a35b6063Andrew Hsieh# Symlink for clang++ 12017fe6b86205261afc93f7689a73da21a83e0cc65Tim Murray$(CLANG_CXX) : $(LOCAL_INSTALLED_MODULE) 121952626a19a1c58e405be194854566b76a35b6063Andrew Hsieh @echo "Symlink $@ -> $<" 122952626a19a1c58e405be194854566b76a35b6063Andrew Hsieh $(hide) ln -sf $(notdir $<) $@ 123ce5d5dc827d36f09a1df7d1bec48b0bb429d6afaStephen Hinesendif 124