1075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesLOCAL_PATH := $(call my-dir)
2075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
3075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesLLVM_ROOT_PATH := $(LOCAL_PATH)/../..
4075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
5075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
6075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes#===---------------------------------------------------------------===
7075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes# llvm-ar command line tool
8075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes#===---------------------------------------------------------------===
9075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
10075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailesllvm_ar_SRC_FILES := \
11075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes  llvm-ar.cpp
12075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
13075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailesllvm_ar_STATIC_LIBRARIES := \
14075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes  libLLVMObject             \
15075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes  libLLVMBitReader          \
16075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes  libLLVMCore               \
17075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes  libLLVMSupport            \
18075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
19cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines#  libLLVMAArch64CodeGen \
20cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMAArch64Info \
21cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMAArch64Desc \
22cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMAArch64AsmParser \
23cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMAArch64AsmPrinter \
24cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMAArch64Disassembler \
25cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMARMCodeGen \
26cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMARMInfo \
27cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMARMDesc \
28cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMARMAsmParser \
29cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMARMAsmPrinter \
30cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMARMDisassembler \
31cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMMipsCodeGen \
32cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMMipsInfo \
33cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMMipsDesc \
34cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMMipsAsmParser \
35cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMMipsAsmPrinter \
36cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMMipsDisassembler \
37cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMX86CodeGen \
38cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMX86Info \
39cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMX86Desc \
40cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMX86AsmParser \
41cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMX86AsmPrinter \
42cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMX86Disassembler \
43cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMAsmPrinter \
44cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMSelectionDAG \
45cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMCodeGen \
46cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMObject \
47cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMScalarOpts \
48cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMInstCombine \
49cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMInstrumentation \
50cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMTransformObjCARC \
51cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMTransformUtils \
52cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMipa \
53cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMAnalysis \
54cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMTarget \
55cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMMC \
56cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMMCParser \
57cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMCore \
58cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMAsmParser \
59cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMOption \
60cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMSupport \
61cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines  libLLVMVectorize \
62cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines
63cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines
64cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines
65cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines
66075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailesinclude $(CLEAR_VARS)
67075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
68075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesLOCAL_MODULE := llvm-ar
69075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesLOCAL_MODULE_TAGS := optional
70075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesLOCAL_MODULE_CLASS := EXECUTABLES
71075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesLOCAL_IS_HOST_MODULE := true
72075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
73075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesLOCAL_SRC_FILES := $(llvm_ar_SRC_FILES)
74075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
75075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesLOCAL_STATIC_LIBRARIES := $(llvm_ar_STATIC_LIBRARIES)
76cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen HinesLOCAL_SHARED_LIBRARIES := libLLVM
77075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
78075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesLOCAL_LDLIBS += -lpthread -lm -ldl
79075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
80075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailesinclude $(LLVM_ROOT_PATH)/llvm.mk
81075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailesinclude $(LLVM_HOST_BUILD_MK)
82075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailesinclude $(BUILD_HOST_EXECUTABLE)
83075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
84075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesLLVM_RANLIB = $(HOST_OUT)/bin/llvm-ranlib
85075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
86075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes# Make sure if llvm-ar (i.e. $(LOCAL_MODULE)) get installed,
87075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes# llvm-ranlib will get installed as well.
88075c621d834af7ffc32d2067fadb147cc1758b99Chris WailesALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
89075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes    $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(LLVM_RANLIB)
90075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes# the additional dependency is needed when you run mm/mmm.
91075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes$(LOCAL_MODULE) : $(LLVM_RANLIB)
92075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes
93075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes# Symlink for llvm-ranlib
94075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes$(LLVM_RANLIB) : $(LOCAL_INSTALLED_MODULE)
95075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes	@echo "Symlink $@ -> $<"
96075c621d834af7ffc32d2067fadb147cc1758b99Chris Wailes	$(hide) ln -sf $(notdir $<) $@
97