1# 2# Build targets for an ARM64 processor 3# 4 5# arm64 Environment Checks ##################################################### 6 7ifeq ($(ANDROID_NDK_PREFIX),) 8$(error "You should supply an ANDROID_NDK_PREFIX environment variable \ 9 containing a path to a generated Android NDK toolchain. i.e. \ 10 ./build/tools/make-standalone-toolchain.sh --arch=arm64 \ 11 --platform=android-26 --install-dir=$$ANDROID_NDK_PREFIX") 12endif 13 14export ARM64_TOOLS_PREFIX=$(ANDROID_NDK_PREFIX)/bin 15 16# arm64 Tools ################################################################## 17 18TARGET_AR = $(ARM64_TOOLS_PREFIX)/llvm-ar 19TARGET_CC = $(ARM64_TOOLS_PREFIX)/clang++ 20TARGET_LD = $(ARM64_TOOLS_PREFIX)/clang++ 21 22# arm64 Compiler Flags ######################################################### 23 24# Add arm64 compiler flags. 25TARGET_CFLAGS += $(ARM64_CFLAGS) 26 27# Generate a position independent executable. 28TARGET_CFLAGS += -fPIE 29 30# arm64 Shared Object Linker Flags ############################################# 31 32TARGET_SO_LDFLAGS += -shared 33TARGET_SO_LDFLAGS += -Wl,-gc-sections 34 35# Optimization Level ########################################################### 36 37TARGET_CFLAGS += -O$(OPT_LEVEL) 38 39# Variant Specific Sources ##################################################### 40 41TARGET_VARIANT_SRCS += $(ARM64_SRCS) 42