Android.mk revision 76f76d53b6ead31e1ca40bad492d500e45714357
1LOCAL_PATH:= $(call my-dir)
2
3LOCAL_MODULE_TAGS := optional
4
5# Set up common build variables
6# =====================================================
7
8MCLD_C_INCLUDES := $(LOCAL_PATH)/include
9
10MCLD_SRC_FILES := \
11  main.cpp \
12  lib/DynamicSectionOptions.cpp \
13  lib/OptimizationOptions.cpp \
14  lib/OutputFormatOptions.cpp \
15  lib/PositionalOptions.cpp \
16  lib/PreferenceOptions.cpp \
17  lib/ScriptOptions.cpp \
18  lib/SearchPathOptions.cpp \
19  lib/SymbolOptions.cpp \
20  lib/TargetControlOptions.cpp \
21  lib/TripleOptions.cpp
22
23
24MCLD_WHOLE_STATIC_LIBRARIES := \
25  libmcldADT \
26  libmcldCore \
27  libmcldFragment \
28  libmcldLD \
29  libmcldLDVariant \
30  libmcldMC \
31  libmcldObject \
32  libmcldScript \
33  libmcldSupport \
34  libmcldTarget
35
36MCLD_SHARED_LIBRARIES := libLLVM
37
38# Collect target specific code generation libraries
39MCLD_ARM_LIBS := libmcldARMTarget libmcldARMInfo
40MCLD_AARCH64_LIBS := libmcldAArch64Target libmcldAArch64Info
41MCLD_MIPS_LIBS := libmcldMipsTarget libmcldMipsInfo
42MCLD_X86_LIBS := libmcldX86Target libmcldX86Info
43
44MCLD_MODULE:= ld.mc
45
46# Executable the device
47# =====================================================
48include $(CLEAR_VARS)
49
50LOCAL_C_INCLUDES := $(MCLD_C_INCLUDES)
51LOCAL_SRC_FILES := $(MCLD_SRC_FILES)
52LOCAL_WHOLE_STATIC_LIBRARIES := $(MCLD_WHOLE_STATIC_LIBRARIES)
53
54# Add target specific code generation libraries
55ifeq ($(TARGET_ARCH), arm)
56  LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_ARM_LIBS)
57endif
58
59# Include ARM libs to enable 32-bit linking on AARCH64 targets
60ifeq ($(TARGET_ARCH), arm64)
61  LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_AARCH64_LIBS) \
62                                  $(MCLD_ARM_LIBS)
63endif
64
65ifneq (, $(findstring mips,$(TARGET_ARCH)))
66  LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_MIPS_LIBS)
67endif
68
69# Add x86 libraries for both x86 and x86_64 targets
70ifneq (, $(findstring x86,$(TARGET_ARCH)))
71  LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_X86_LIBS)
72endif
73
74
75# zlib's libnames are different for the host and target.
76# For the target, it is the standard libz
77LOCAL_SHARED_LIBRARIES := $(MCLD_SHARED_LIBRARIES) libz
78
79LOCAL_MODULE := $(MCLD_MODULE)
80include $(MCLD_DEVICE_BUILD_MK)
81include $(BUILD_EXECUTABLE)
82
83# Executable the host
84# =====================================================
85include $(CLEAR_VARS)
86
87LOCAL_C_INCLUDES := $(MCLD_C_INCLUDES)
88LOCAL_SRC_FILES := $(MCLD_SRC_FILES)
89
90LOCAL_WHOLE_STATIC_LIBRARIES := $(MCLD_WHOLE_STATIC_LIBRARIES)
91LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_ARM_LIBS) \
92                                $(MCLD_AARCH64_LIBS) \
93                                $(MCLD_MIPS_LIBS) \
94                                $(MCLD_X86_LIBS)
95
96# zlib's libnames are different for the host and target.
97# For the host, it is libz-host
98LOCAL_SHARED_LIBRARIES := $(MCLD_SHARED_LIBRARIES) libz-host
99
100LOCAL_MODULE := $(MCLD_MODULE)
101include $(MCLD_HOST_BUILD_MK)
102include $(BUILD_HOST_EXECUTABLE)
103