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