#
# Build targets for an ARM64 processor
#
# arm64 Environment Checks #####################################################
ifeq ($(ANDROID_NDK_PREFIX),)
$(error "You should supply an ANDROID_NDK_PREFIX environment variable \
containing a path to a generated Android NDK toolchain. i.e. \
./build/tools/make-standalone-toolchain.sh --arch=arm64 \
--platform=android-26 --install-dir=$$ANDROID_NDK_PREFIX")
endif
export ARM64_TOOLS_PREFIX=$(ANDROID_NDK_PREFIX)/bin
# arm64 Tools ##################################################################
TARGET_AR = $(ARM64_TOOLS_PREFIX)/llvm-ar
TARGET_CC = $(ARM64_TOOLS_PREFIX)/clang++
TARGET_LD = $(ARM64_TOOLS_PREFIX)/clang++
# arm64 Compiler Flags #########################################################
# Add arm64 compiler flags.
TARGET_CFLAGS += $(ARM64_CFLAGS)
# Generate a position independent executable.
TARGET_CFLAGS += -fPIE
# arm64 Shared Object Linker Flags #############################################
TARGET_SO_LDFLAGS += -shared
TARGET_SO_LDFLAGS += -Wl,-gc-sections
# Optimization Level ###########################################################
TARGET_CFLAGS += -O$(OPT_LEVEL)
# Variant Specific Sources #####################################################
TARGET_VARIANT_SRCS += $(ARM64_SRCS)