1 LOCAL_PATH := $(call my-dir) 2 LLVM_ROOT_PATH := $(LOCAL_PATH) 3 4 FORCE_BUILD_LLVM_DISABLE_NDEBUG ?= false 5 # Legality check: FORCE_BUILD_LLVM_DISABLE_NDEBUG should consist of one word -- either "true" or "false". 6 ifneq "$(words $(FORCE_BUILD_LLVM_DISABLE_NDEBUG))$(words $(filter-out true false,$(FORCE_BUILD_LLVM_DISABLE_NDEBUG)))" "10" 7 $(error FORCE_BUILD_LLVM_DISABLE_NDEBUG may only be true, false, or unset) 8 endif 9 10 FORCE_BUILD_LLVM_DEBUG ?= false 11 # Legality check: FORCE_BUILD_LLVM_DEBUG should consist of one word -- either "true" or "false". 12 ifneq "$(words $(FORCE_BUILD_LLVM_DEBUG))$(words $(filter-out true false,$(FORCE_BUILD_LLVM_DEBUG)))" "10" 13 $(error FORCE_BUILD_LLVM_DEBUG may only be true, false, or unset) 14 endif 15 16 include $(CLEAR_VARS) 17 18 # LLVM Libraries 19 subdirs := \ 20 lib/Analysis \ 21 lib/AsmParser \ 22 lib/Bitcode/Reader \ 23 lib/Bitcode/Writer \ 24 lib/ExecutionEngine \ 25 lib/ExecutionEngine/RuntimeDyld \ 26 lib/ExecutionEngine/MCJIT \ 27 lib/ExecutionEngine/Orc \ 28 lib/ExecutionEngine/Interpreter \ 29 lib/Fuzzer \ 30 lib/CodeGen \ 31 lib/CodeGen/AsmPrinter \ 32 lib/CodeGen/MIRParser \ 33 lib/CodeGen/SelectionDAG \ 34 lib/DebugInfo/DWARF \ 35 lib/DebugInfo/PDB \ 36 lib/DebugInfo/Symbolize \ 37 lib/IR \ 38 lib/IRReader \ 39 lib/LibDriver \ 40 lib/Linker \ 41 lib/LTO \ 42 lib/MC \ 43 lib/MC/MCDisassembler \ 44 lib/MC/MCParser \ 45 lib/Object \ 46 lib/Option \ 47 lib/Passes \ 48 lib/ProfileData \ 49 lib/Support \ 50 lib/TableGen \ 51 lib/Target \ 52 lib/Transforms/Hello \ 53 lib/Transforms/IPO \ 54 lib/Transforms/InstCombine \ 55 lib/Transforms/Instrumentation \ 56 lib/Transforms/ObjCARC \ 57 lib/Transforms/Scalar \ 58 lib/Transforms/Utils \ 59 lib/Transforms/Vectorize \ 60 61 # ARM Code Generation Libraries 62 subdirs += \ 63 lib/Target/ARM \ 64 lib/Target/ARM/AsmParser \ 65 lib/Target/ARM/InstPrinter \ 66 lib/Target/ARM/Disassembler \ 67 lib/Target/ARM/MCTargetDesc \ 68 lib/Target/ARM/TargetInfo 69 70 # AArch64 Code Generation Libraries 71 subdirs += \ 72 lib/Target/AArch64 \ 73 lib/Target/AArch64/AsmParser \ 74 lib/Target/AArch64/InstPrinter \ 75 lib/Target/AArch64/Disassembler \ 76 lib/Target/AArch64/MCTargetDesc \ 77 lib/Target/AArch64/TargetInfo \ 78 lib/Target/AArch64/Utils 79 80 # MIPS Code Generation Libraries 81 subdirs += \ 82 lib/Target/Mips \ 83 lib/Target/Mips/AsmParser \ 84 lib/Target/Mips/InstPrinter \ 85 lib/Target/Mips/Disassembler \ 86 lib/Target/Mips/MCTargetDesc \ 87 lib/Target/Mips/TargetInfo 88 89 # X86 Code Generation Libraries 90 subdirs += \ 91 lib/Target/X86 \ 92 lib/Target/X86/AsmParser \ 93 lib/Target/X86/InstPrinter \ 94 lib/Target/X86/Disassembler \ 95 lib/Target/X86/MCTargetDesc \ 96 lib/Target/X86/TargetInfo \ 97 lib/Target/X86/Utils 98 99 # LLVM Command Line Tools 100 subdirs += \ 101 tools/bugpoint \ 102 tools/bugpoint-passes \ 103 tools/dsymutil \ 104 tools/llc \ 105 tools/lli \ 106 tools/lli/ChildTarget \ 107 tools/llvm-ar \ 108 tools/llvm-as \ 109 tools/llvm-bcanalyzer \ 110 tools/llvm-c-test \ 111 tools/llvm-config \ 112 tools/llvm-cov \ 113 tools/llvm-cxxdump \ 114 tools/llvm-dis \ 115 tools/llvm-diff \ 116 tools/llvm-dwarfdump \ 117 tools/llvm-dwp \ 118 tools/llvm-extract \ 119 tools/llvm-link \ 120 tools/llvm-lto \ 121 tools/llvm-mc \ 122 tools/llvm-mcmarkup \ 123 tools/llvm-nm \ 124 tools/llvm-objdump \ 125 tools/llvm-pdbdump \ 126 tools/llvm-profdata \ 127 tools/llvm-readobj \ 128 tools/llvm-rtdyld \ 129 tools/llvm-size \ 130 tools/llvm-split \ 131 tools/llvm-symbolizer \ 132 tools/lto \ 133 tools/gold \ 134 tools/obj2yaml \ 135 tools/opt \ 136 tools/sancov \ 137 tools/verify-uselistorder \ 138 tools/yaml2obj \ 139 140 # LLVM Command Line Utilities 141 subdirs += \ 142 utils/count \ 143 utils/FileCheck \ 144 utils/not \ 145 utils/TableGen \ 146 utils/yaml-bench \ 147 148 include $(LOCAL_PATH)/llvm.mk 149 include $(LOCAL_PATH)/shared_llvm.mk 150 151 include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, $(subdirs))) 152