1NDK_ROOT := $(shell dirname $(CC))/../../../../.. 2NDK_ROOT := $(realpath $(NDK_ROOT)) 3 4ifeq "$(findstring 64, $(ARCH))" "64" 5 # lowest 64-bit API level 6 API_LEVEL := 21 7else ifeq "$(ARCH)" "i386" 8 # clone(2) declaration is present only since this api level 9 API_LEVEL := 17 10else 11 # lowest supported 32-bit API level 12 API_LEVEL := 9 13endif 14 15ifeq "$(ARCH)" "arm" 16 SYSROOT_ARCH := arm 17 STL_ARCH := armeabi-v7a 18 ARCH_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm 19else ifeq "$(ARCH)" "aarch64" 20 SYSROOT_ARCH := arm64 21 STL_ARCH := arm64-v8a 22else ifeq "$(ARCH)" "i386" 23 SYSROOT_ARCH := x86 24 STL_ARCH := x86 25else ifeq "$(ARCH)" "mips64r6" 26 SYSROOT_ARCH := mips64 27 STL_ARCH := mips64 28else ifeq "$(ARCH)" "mips32" 29 SYSROOT_ARCH := mips 30 STL_ARCH := mips 31else 32 SYSROOT_ARCH := $(ARCH) 33 STL_ARCH := $(ARCH) 34endif 35 36ARCH_CFLAGS += \ 37 --sysroot=$(NDK_ROOT)/platforms/android-$(API_LEVEL)/arch-$(SYSROOT_ARCH) \ 38 -isystem $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/include \ 39 -isystem $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/libs/$(STL_ARCH)/include \ 40 -isystem $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward 41ARCH_LDFLAGS += -lm \ 42 $(NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.9/libs/$(STL_ARCH)/libgnustl_static.a \ 43 --sysroot=$(NDK_ROOT)/platforms/android-$(API_LEVEL)/arch-$(SYSROOT_ARCH) 44