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