You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
2.5 KiB

# 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
# TODO PEMA-103 move this to not external anymore, it comes with the engine
EXTERNAL_GIT_REPOS += pEpEngineSequoiaBackend|https://gitea.pep.foundation/pEp.foundation/pEpEngineSequoiaBackend.git?58887287fda1d0d076409a2e5f0f61844c9ee255
### 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