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 \
47150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMARMDisassembler \
480a9399c6726563f480537649e6f28da5186c4b78Nowar Gu  libLLVMARMDesc \
4950b2af40295eadba516c5e85ec1bb3443d64aae3Logan Chien  libLLVMARMInfo \
50cb9b577d473e0af82e3fadf0c7b85cd04b3018a7Logan Chien  libLLVMMipsAsmParser \
5150b2af40295eadba516c5e85ec1bb3443d64aae3Logan Chien  libLLVMMipsCodeGen \
52cb9b577d473e0af82e3fadf0c7b85cd04b3018a7Logan Chien  libLLVMMipsDisassembler \
5350b2af40295eadba516c5e85ec1bb3443d64aae3Logan Chien  libLLVMMipsAsmPrinter \
5450b2af40295eadba516c5e85ec1bb3443d64aae3Logan Chien  libLLVMMipsDesc \
5550b2af40295eadba516c5e85ec1bb3443d64aae3Logan Chien  libLLVMMipsInfo \
56150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMX86Info \
57150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMX86AsmParser \
58150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMX86CodeGen \
59150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMX86Disassembler \
600a9399c6726563f480537649e6f28da5186c4b78Nowar Gu  libLLVMX86Desc \
61fe6bd6dc51777802a0118521b9039981a0e6a806Logan Chien  libLLVMX86AsmPrinter \
62d271e4b0c6c42a0e670226e697963df427e35a56Logan Chien  libLLVMX86Utils \
63150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMAsmParser \
64150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMAsmPrinter \
65150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMBitReader \
66150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMBitWriter \
67150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMSelectionDAG \
68fe6bd6dc51777802a0118521b9039981a0e6a806Logan Chien  libLLVMipo \
69fe6bd6dc51777802a0118521b9039981a0e6a806Logan Chien  libLLVMipa \
70150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMInstCombine \
710c115a16d479c7cda12c66bceb3782fd45177481Nowar Gu  libLLVMInstrumentation \
72150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMCodeGen \
73150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMLinker \
74150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMMC \
75150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMMCParser \
76150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMScalarOpts \
77150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMTransformUtils \
78361035524dc26094825134f30c07311f38f4f8b1Stephen Hines  libLLVMVectorize \
79150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMAnalysis \
80150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMCore \
81150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMSupport \
82150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan  libLLVMTarget
83150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan
84150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5LoganLOCAL_LDLIBS += -lpthread -lm -ldl
85150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Logan
86150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Loganinclude $(CLANG_HOST_BUILD_MK)
87150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Loganinclude $(CLANG_TBLGEN_RULES_MK)
88150e0efec6302fa5a8c3b5c3c4ecf5778d3a29f5Loganinclude $(BUILD_HOST_EXECUTABLE)
89952626a19a1c58e405be194854566b76a35b6063Andrew Hsieh
90e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang# Make sure if clang (i.e. $(LOCAL_MODULE)) get installed,
91e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang# clang++ will get installed as well.
92e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying WangALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
93e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang    $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(CLANG_CXX)
94e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang# the additional dependency is needed when you run mm/mmm.
95e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang$(LOCAL_MODULE) : $(CLANG_CXX)
96e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang
97952626a19a1c58e405be194854566b76a35b6063Andrew Hsieh# Symlink for clang++
98e7ea4e58ac544083d9052b1a7f8aabec750afac3Ying Wang$(CLANG_CXX) : $(LOCAL_INSTALLED_MODULE)
99952626a19a1c58e405be194854566b76a35b6063Andrew Hsieh	@echo "Symlink $@ -> $<"
100952626a19a1c58e405be194854566b76a35b6063Andrew Hsieh	$(hide) ln -sf $(notdir $<) $@
101