# TODO: Tiddy up # COLORS BOLD := $(shell tput bold) RED := $(shell tput -Txterm setaf 1) GREEN := $(shell tput -Txterm setaf 2) YELLOW := $(shell tput -Txterm setaf 3) CYAN := $(shell tput -Txterm setaf 6) PURPLE := $(shell tput -Txterm setaf 5) WHITE := $(shell tput -Txterm setaf 7) RESET := $(shell tput -Txterm sgr0) ### Android NDK Common conf NDK_TOOLCHAIN_COMPILER ?= clang ANDROID_API ?= 21 ### Select GNU SED on MacOS. NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]') ifeq ($(NDK_UNAME),darwin) SED=gsed TOOLCHAIN_ARCH=darwin-x86_64 else SED=sed TOOLCHAIN_ARCH=linux-x86_64 endif ANDROID_NDK_HOME=$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(TOOLCHAIN_ARCH) ### Toolchain tools LD := $(ANDROID_NDK_HOME)/bin/ld AR := $(ANDROID_NDK_HOME)/bin/llvm-ar RANLIB := $(ANDROID_NDK_HOME)/bin/llvm-ranlib STRIP := $(ANDROID_NDK_HOME)/bin/llvm-strip ### Sequoia deps versions OPENSSL_VERSION=1.1.1q GMP_VERSION=6.2.1 NETTLE_VERSION=3.7.3 ### Git deps repos EXTERNAL_GIT_REPOS += libetpan|https://gitea.pep.foundation/pEp.foundation/libetpan.git?507ab94fc9609432ef2d4c62770139482f1b5084 EXTERNAL_GIT_REPOS += pEpEngineSequoiaBackend|https://gitea.pep.foundation/pEp.foundation/pEpEngineSequoiaBackend.git?81f582c64d295cac38941a15681c30758799c797 ### Common variables #### Source code targets EXTERNAL_SRCS += libiconv-src EXTERNAL_SRCS += uuid-src EXTERNAL_SRCS += openssl-src EXTERNAL_SRCS += gmp-src EXTERNAL_SRCS += nettle-src #### Clean source code targets. EXTERNAL_SRCS_CLEAN += libiconv-clean EXTERNAL_SRCS_CLEAN += uuid-clean EXTERNAL_SRCS_CLEAN += openssl-clean EXTERNAL_SRCS_CLEAN += gmp-clean EXTERNAL_SRCS_CLEAN += nettle-clean EXTERNAL_SRCS_CLEAN += pEpEngineSequoiaBackend-clean ### Other variables ANDROID_ETPAN_BUILD_VERSION=2 # install root for built files EXTERNAL_ROOT = $(shell pwd) DESTDIR = $(EXTERNAL_ROOT)/.. prefix = /output/$(APP_ABI) LOCAL = $(DESTDIR)$(prefix) NDK_TOOLCHAIN = $(NDK_TOOLCHAIN_TARGET)-$(NDK_TOOLCHAIN_COMPILER) TEMP_WORK_PATH = $(ANDROID_NDK_HOME)/bin:${PATH}:$(NDK_TOOLCHAIN)/bin:$(LOCAL)/bin CC = $(ANDROID_NDK_HOME)/bin/$(COMPILER_PREFIX)$(ANDROID_API)-clang AS = $(CC) CXX = $(ANDROID_NDK_HOME)/bin/$(COMPILER_PREFIX)$(ANDROID_API)-clang++ MYCFLAGS = -DANDROID -I$(LOCAL)/include $(TARGET_CFLAGS) -fPIE -fPIC -std=c99 $($ARCH_DEBUG_CFLAGS) # change 'release' to 'debug' for unoptimized debug builds MYLDFLAGS = -llog -L$(LOCAL)/lib $(TARGET_LDFLAGS) -pie