• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1LOCAL_PATH:= $(call my-dir)
2
3# For the host only
4# =====================================================
5include $(CLEAR_VARS)
6include $(CLEAR_TBLGEN_VARS)
7
8LOCAL_MODULE := clang
9
10LOCAL_MODULE_CLASS := EXECUTABLES
11
12TBLGEN_TABLES := \
13  DiagnosticCommonKinds.inc \
14  DiagnosticDriverKinds.inc \
15  DiagnosticFrontendKinds.inc \
16  CC1Options.inc \
17  CC1AsOptions.inc
18
19clang_SRC_FILES := \
20  cc1_main.cpp \
21  cc1as_main.cpp \
22  driver.cpp
23
24LOCAL_SRC_FILES := $(clang_SRC_FILES)
25
26LOCAL_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
98LOCAL_LDLIBS += -lm
99ifdef USE_MINGW
100LOCAL_LDLIBS += -limagehlp
101else
102LOCAL_LDLIBS += -lpthread -ldl
103endif
104
105include $(CLANG_HOST_BUILD_MK)
106include $(CLANG_TBLGEN_RULES_MK)
107include $(BUILD_HOST_EXECUTABLE)
108
109ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS))
110# Make sure if clang (i.e. $(LOCAL_MODULE)) get installed,
111# clang++ will get installed as well.
112ALL_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)
116CLANG_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 $<) $@
123endif
124