LOCAL_PATH := $(call my-dir)
CLANG_ROOT_PATH := $(LOCAL_PATH)
FORCE_BUILD_LLVM_DISABLE_NDEBUG ?= false
# Legality check: FORCE_BUILD_LLVM_DISABLE_NDEBUG should consist of one word -- either "true" or "false".
ifneq "$(words $(FORCE_BUILD_LLVM_DISABLE_NDEBUG))$(words $(filter-out true false,$(FORCE_BUILD_LLVM_DISABLE_NDEBUG)))" "10"
$(error FORCE_BUILD_LLVM_DISABLE_NDEBUG may only be true, false, or unset)
endif
FORCE_BUILD_LLVM_DEBUG ?= false
# Legality check: FORCE_BUILD_LLVM_DEBUG should consist of one word -- either "true" or "false".
ifneq "$(words $(FORCE_BUILD_LLVM_DEBUG))$(words $(filter-out true false,$(FORCE_BUILD_LLVM_DEBUG)))" "10"
$(error FORCE_BUILD_LLVM_DEBUG may only be true, false, or unset)
endif
.PHONY: clang-toolchain llvm-tools
clang-toolchain: \
clang \
FileCheck \
llvm-as \
llvm-dis \
llvm-link \
LLVMgold \
libprofile_rt
llvm-tools: \
bugpoint \
BugpointPasses \
count \
llc \
lli \
lli-child-target \
LLVMHello \
llvm-ar \
llvm-as \
llvm-bcanalyzer \
llvm-config \
llvm-cov \
llvm-c-test \
llvm-cxxdump \
llvm-diff \
llvm-dis \
llvm-dsymutil \
llvm-dwarfdump \
llvm-dwp \
llvm-extract \
llvm-link \
llvm-lto \
llvm-mc \
llvm-mcmarkup \
llvm-nm \
llvm-objdump \
llvm-pdbdump \
llvm-profdata \
llvm-readobj \
llvm-rtdyld \
llvm-size \
llvm-split \
llvm-symbolizer \
not \
obj2yaml \
opt \
sancov \
verify-uselistorder \
yaml2obj \
yaml-bench
ifneq ($(HOST_OS),darwin)
clang-toolchain: \
host_cross_clang \
libasan \
libasan_32 \
libasan_cxx \
libasan_cxx_32 \
libprofile_rt_32 \
libtsan \
libtsan_cxx \
libubsan_standalone \
libubsan_standalone_32 \
libubsan_standalone_cxx \
libubsan_standalone_cxx_32
endif
ifneq (,$(filter arm arm64 x86,$(TARGET_ARCH)))
clang-toolchain: \
$(ADDRESS_SANITIZER_RUNTIME_LIBRARY)
endif
include $(CLEAR_VARS)
subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \
lib/Analysis \
lib/AST \
lib/ASTMatchers \
lib/ARCMigrate \
lib/Basic \
lib/CodeGen \
lib/Driver \
lib/Edit \
lib/Format \
lib/Frontend \
lib/Frontend/Rewrite \
lib/FrontendTool \
lib/Index \
lib/Lex \
lib/Parse \
lib/Rewrite \
lib/Sema \
lib/Serialization \
lib/StaticAnalyzer/Checkers \
lib/StaticAnalyzer/Core \
lib/StaticAnalyzer/Frontend \
lib/Tooling \
tools/driver \
tools/libclang \
utils/TableGen \
))
include $(LOCAL_PATH)/clang.mk
include $(LOCAL_PATH)/shared_clang.mk
include $(subdirs)