Android.mk revision 8c10afdc806cbb9d4560e90b100f0dcefdd46a21
1b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_PATH:= $(call my-dir) 2b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 3b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_MODULE_TAGS := optional 4b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 5b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# Set up common build variables 6b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# ===================================================== 7b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 8b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarMCLD_C_INCLUDES := $(LOCAL_PATH)/include 9b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 10b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarMCLD_SRC_FILES := \ 112bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar Main.cpp 12b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 13b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 14b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarMCLD_WHOLE_STATIC_LIBRARIES := \ 15b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar libmcldADT \ 16b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar libmcldCore \ 17b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar libmcldFragment \ 18b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar libmcldLD \ 19b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar libmcldLDVariant \ 20b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar libmcldMC \ 21b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar libmcldObject \ 22b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar libmcldScript \ 23b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar libmcldSupport \ 24b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar libmcldTarget 25b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 26b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarMCLD_SHARED_LIBRARIES := libLLVM 27b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 28b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# Collect target specific code generation libraries 29b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarMCLD_ARM_LIBS := libmcldARMTarget libmcldARMInfo 30b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarMCLD_AARCH64_LIBS := libmcldAArch64Target libmcldAArch64Info 31b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarMCLD_MIPS_LIBS := libmcldMipsTarget libmcldMipsInfo 32b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarMCLD_X86_LIBS := libmcldX86Target libmcldX86Info 33b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 34b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarMCLD_MODULE:= ld.mc 35b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 362bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar# Executable for the device 37b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# ===================================================== 38b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarinclude $(CLEAR_VARS) 392bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainarinclude $(CLEAR_TBLGEN_VARS) 40b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 41b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_C_INCLUDES := $(MCLD_C_INCLUDES) 42b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_SRC_FILES := $(MCLD_SRC_FILES) 43b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_WHOLE_STATIC_LIBRARIES := $(MCLD_WHOLE_STATIC_LIBRARIES) 44b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 45b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# Add target specific code generation libraries 46b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarifeq ($(TARGET_ARCH), arm) 47b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_ARM_LIBS) 48b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarendif 49b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 50b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# Include ARM libs to enable 32-bit linking on AARCH64 targets 51b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarifeq ($(TARGET_ARCH), arm64) 52b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_AARCH64_LIBS) \ 53b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar $(MCLD_ARM_LIBS) 54b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarendif 55b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 5676f76d53b6ead31e1ca40bad492d500e45714357Duane Sandifneq (, $(findstring mips,$(TARGET_ARCH))) 57b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_MIPS_LIBS) 58b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarendif 59b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 60b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# Add x86 libraries for both x86 and x86_64 targets 61b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarifneq (, $(findstring x86,$(TARGET_ARCH))) 62b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_X86_LIBS) 638c10afdc806cbb9d4560e90b100f0dcefdd46a21Miao Wangifeq ($(BUILD_ARM_FOR_X86),true) 648c10afdc806cbb9d4560e90b100f0dcefdd46a21Miao Wang LOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_ARM_LIBS) \ 658c10afdc806cbb9d4560e90b100f0dcefdd46a21Miao Wang $(MCLD_AARCH64_LIBS) 668c10afdc806cbb9d4560e90b100f0dcefdd46a21Miao Wangendif 67b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarendif 68b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 69b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 70b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# zlib's libnames are different for the host and target. 71b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# For the target, it is the standard libz 72b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_SHARED_LIBRARIES := $(MCLD_SHARED_LIBRARIES) libz 73b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 74b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_MODULE := $(MCLD_MODULE) 752bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga NainarLOCAL_MODULE_CLASS := EXECUTABLES 762bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar 772bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar# Build Options.inc from Options.td for the device 782bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainarintermediates := $(call local-generated-sources-dir) 792bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga NainarLOCAL_GENERATED_SOURCES += $(intermediates)/Options.inc 802bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar$(intermediates)/Options.inc: $(LOCAL_PATH)/Options.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td $(LLVM_TBLGEN) 812bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar $(call transform-device-td-to-out,opt-parser-defs) 822bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar 83b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarinclude $(MCLD_DEVICE_BUILD_MK) 84b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarinclude $(BUILD_EXECUTABLE) 85b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 862bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar# Executable for the host 87b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# ===================================================== 88b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarinclude $(CLEAR_VARS) 892bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainarinclude $(CLEAR_TBLGEN_VARS) 90b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 91b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_C_INCLUDES := $(MCLD_C_INCLUDES) 92b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_SRC_FILES := $(MCLD_SRC_FILES) 93b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 94b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_WHOLE_STATIC_LIBRARIES := $(MCLD_WHOLE_STATIC_LIBRARIES) 95b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_WHOLE_STATIC_LIBRARIES += $(MCLD_ARM_LIBS) \ 96b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar $(MCLD_AARCH64_LIBS) \ 97b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar $(MCLD_MIPS_LIBS) \ 98b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar $(MCLD_X86_LIBS) 99b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 100b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# zlib's libnames are different for the host and target. 101b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar# For the host, it is libz-host 102b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_SHARED_LIBRARIES := $(MCLD_SHARED_LIBRARIES) libz-host 103b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainar 104b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga NainarLOCAL_MODULE := $(MCLD_MODULE) 1052bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga NainarLOCAL_MODULE_CLASS := EXECUTABLES 1062bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga NainarLOCAL_IS_HOST_MODULE := true 1072bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar 1082bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar# Build Options.inc from Options.td for the host 1092bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainarintermediates := $(call local-generated-sources-dir) 1102bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga NainarLOCAL_GENERATED_SOURCES += $(intermediates)/Options.inc 1112bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar$(intermediates)/Options.inc: $(LOCAL_PATH)/Options.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td $(LLVM_TBLGEN) 1122bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar $(call transform-host-td-to-out,opt-parser-defs) 1132bf3f881f79c4d883f379e63725e788c310739a3Pirama Arumuga Nainar 114b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarinclude $(MCLD_HOST_BUILD_MK) 115b4be41c9170580c07b79afb01617f52e0d8bcb70Pirama Arumuga Nainarinclude $(BUILD_HOST_EXECUTABLE) 116