|
|
@ -9,7 +9,7 @@ |
|
|
|
# TODO: get params from the outside for multiarch build
|
|
|
|
|
|
|
|
NDK_ABI ?= arm |
|
|
|
NDK_TOOLCHAIN_VERSION ?= 4.9 |
|
|
|
NDK_TOOLCHAIN_VERSION ?= clang |
|
|
|
APP_ABI ?= armeabi-v7a |
|
|
|
APP_PLATFORM ?= android-18 |
|
|
|
PEP_PACKAGE_NAME ?= com.pep.k9 |
|
|
@ -44,8 +44,9 @@ else |
|
|
|
NDK_PROCESSOR=x86 |
|
|
|
endif |
|
|
|
|
|
|
|
NDK_SYSROOT=$(ANDROID_NDK_HOME)/platforms/$(APP_PLATFORM)/arch-$(NDK_ABI) |
|
|
|
NDK_SYSROOT=$(ANDROID_NDK_HOME)/sysroot |
|
|
|
NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]') |
|
|
|
|
|
|
|
ifeq ($(NDK_ABI),x86) |
|
|
|
HOST = i686-linux-android |
|
|
|
NDK_TOOLCHAIN = $(NDK_ABI)-$(NDK_TOOLCHAIN_VERSION) |
|
|
@ -53,27 +54,28 @@ else |
|
|
|
HOST = $(NDK_ABI)-linux-androideabi |
|
|
|
NDK_TOOLCHAIN = $(HOST)-$(NDK_TOOLCHAIN_VERSION) |
|
|
|
endif |
|
|
|
NDK_TOOLCHAIN_BASE=$(ANDROID_NDK_HOME)/toolchains/$(NDK_TOOLCHAIN)/prebuilt/$(NDK_UNAME)-$(NDK_PROCESSOR) |
|
|
|
|
|
|
|
# include Android's build flags
|
|
|
|
TARGET_ARCH_ABI = $(APP_ABI) |
|
|
|
include $(ANDROID_NDK_HOME)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk |
|
|
|
#include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk
|
|
|
|
#include $(ANDROID_NDK_HOME)/toolchains/$(NDK_TOOLCHAIN)/setup.mk
|
|
|
|
ANDROID_NDK_HOME=$(EXTERNAL_ROOT)/ndk-18-arm |
|
|
|
LD := $(ANDROID_NDK_HOME)/bin/$(HOST)-ld |
|
|
|
AR := $(ANDROID_NDK_HOME)/bin/$(HOST)-ar |
|
|
|
AS :cd= $(ANDROID_NDK_HOME)/bin/$(HOST)-clang |
|
|
|
CC := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang |
|
|
|
CXX := $(ANDROID_NDK_HOME)/bin/$(HOST)-clang++ |
|
|
|
RANLIB := $(ANDROID_NDK_HOME)/bin/$(HOST)-ranlib |
|
|
|
|
|
|
|
CC := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-gcc --sysroot=$(NDK_SYSROOT) |
|
|
|
LD := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ld |
|
|
|
AR := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ar |
|
|
|
RANLIB := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ranlib |
|
|
|
|
|
|
|
CFLAGS = -DANDROID -I$(LOCAL)/include $(TARGET_CFLAGS) |
|
|
|
LDFLAGS = -llog -L$(LOCAL)/lib $(TARGET_LDFLAGS) -pie |
|
|
|
CFLAGS += -DANDROID -I$(LOCAL)/include $(TARGET_CFLAGS) -fPIE -fPIC -D_FILE_OFFSET_BITS=64 -DLARGEFILE_SOURCE=1 |
|
|
|
LDFLAGS += -llog -L$(LOCAL)/lib $(TARGET_LDFLAGS) -pie |
|
|
|
|
|
|
|
# change 'release' to 'debug' for unoptimized debug builds
|
|
|
|
ifeq ($(APP_ABI),armeabi-v7a) |
|
|
|
CFLAGS += $(TARGET_arm_release_CFLAGS) |
|
|
|
CFLAGS += $(TARGET_arm_debug_CFLAGS) |
|
|
|
endif |
|
|
|
ifeq ($(APP_ABI),armeabi) |
|
|
|
CFLAGS += $(TARGET_thumb_release_CFLAGS) |
|
|
|
CFLAGS += $(TARGET_thumb_debug_CFLAGS) |
|
|
|
endif |
|
|
|
|
|
|
|
#------------------------------------------------------------------------------#
|
|
|
@ -187,6 +189,7 @@ libassuan/Makefile: libassuan/configure |
|
|
|
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
|
|
|
|
./configure \
|
|
|
|
--enable-maintainer-mode \
|
|
|
|
--disable-largefile \
|
|
|
|
--host=$(HOST) \
|
|
|
|
--with-gpg-error-prefix=$(LOCAL) \
|
|
|
|
--prefix=$(LOCAL) |
|
|
@ -205,7 +208,7 @@ libassuan-install: $(LOCAL)/lib/libassuan.so |
|
|
|
#------------------------------------------------------------------------------#
|
|
|
|
# libksba
|
|
|
|
|
|
|
|
EXTERNAL_GIT_REPOS += libksba|git://git.gnupg.org/libksba.git?libksba-1.3.3 |
|
|
|
EXTERNAL_GIT_REPOS += libksba|git://git.gnupg.org/libksba.git?libksba-1.3.4 |
|
|
|
|
|
|
|
libksba/configure: libksba.src.stamp libksba/configure.ac |
|
|
|
cd libksba && ./autogen.sh |
|
|
@ -231,6 +234,35 @@ libksba-build: libksba/src/.libs/libksba.so |
|
|
|
|
|
|
|
libksba-install: $(LOCAL)/lib/libksba.so |
|
|
|
|
|
|
|
|
|
|
|
#------------------------------------------------------------------------------#
|
|
|
|
# npth
|
|
|
|
|
|
|
|
EXTERNAL_GIT_REPOS += npth|git://git.gnupg.org/npth.git?npth-1.2 |
|
|
|
|
|
|
|
npth/configure: npth.src.stamp npth/configure.ac |
|
|
|
cd npth && ./autogen.sh |
|
|
|
|
|
|
|
npth/Makefile: $(LOCAL)/lib/libgpg-error.so npth/configure |
|
|
|
cd npth && \
|
|
|
|
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
|
|
|
|
./configure $(CONFIGURE_ARGS) \
|
|
|
|
--enable-maintainer-mode \
|
|
|
|
--host=$(HOST) \
|
|
|
|
--with-gpg-error-prefix=$(LOCAL) \
|
|
|
|
--prefix=$(LOCAL) |
|
|
|
|
|
|
|
npth/src/.libs/libnpth.so: npth/Makefile |
|
|
|
$(MAKE) -C npth |
|
|
|
|
|
|
|
$(LOCAL)/lib/libnpth.so: npth/src/.libs/libnpth.so |
|
|
|
$(MAKE) -C npth prefix=$(LOCAL) install |
|
|
|
ls -l $(LOCAL)/lib/libnpth.so |
|
|
|
|
|
|
|
npth-build: npth/src/.libs/libnpth.so |
|
|
|
|
|
|
|
npth-install: $(LOCAL)/lib/libnpth.so |
|
|
|
|
|
|
|
#------------------------------------------------------------------------------#
|
|
|
|
# curl
|
|
|
|
|
|
|
@ -350,7 +382,7 @@ gnupg/Makefile: gnupg/configure |
|
|
|
--disable-gpgsm \
|
|
|
|
--prefix=$(prefix) |
|
|
|
|
|
|
|
gnupg/g10/gpg2: $(LOCAL)/lib/libgpg-error.so $(LOCAL)/lib/libgcrypt.so $(LOCAL)/lib/libksba.so $(LOCAL)/lib/libassuan.so $(LOCAL)/lib/libcurl.so $(LOCAL)/lib/libiconv.so gnupg/Makefile |
|
|
|
gnupg/g10/gpg2: $(LOCAL)/lib/libgpg-error.so $(LOCAL)/lib/libgcrypt.so $(LOCAL)/lib/libksba.so $(LOCAL)/lib/libnpth.so $(LOCAL)/lib/libassuan.so $(LOCAL)/lib/libcurl.so $(LOCAL)/lib/libiconv.so gnupg/Makefile |
|
|
|
$(MAKE) -C gnupg |
|
|
|
|
|
|
|
$(LOCAL)/bin/gpg2: gnupg/g10/gpg2 gnupg/configure |
|
|
@ -372,12 +404,19 @@ EXTERNAL_GIT_REPOS += gpgme|git://git.gnupg.org/gpgme.git?gpgme-1.8.0 |
|
|
|
gpgme/configure: gpgme.src.stamp gpgme/configure.ac |
|
|
|
cd gpgme && ./autogen.sh |
|
|
|
|
|
|
|
ifneq ("x$(findstring '64',$(HOST))x","xx") |
|
|
|
gpgme_32b_force_no_largefile = |
|
|
|
else |
|
|
|
gpgme_32b_force_no_largefile = --disable-largefile |
|
|
|
endif |
|
|
|
|
|
|
|
gpgme/Makefile: gpgme/configure |
|
|
|
-patch -N -p1 --reject-file=- gpgme/m4/libtool.m4 libtool-Add-Android-Linux-support.patch |
|
|
|
cd gpgme && \
|
|
|
|
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
|
|
|
|
./configure \
|
|
|
|
--host=$(HOST) \
|
|
|
|
$(gpgme_32b_force_no_largefile) \
|
|
|
|
--enable-maintainer-mode \
|
|
|
|
--with-gpg-error-prefix=$(LOCAL) \
|
|
|
|
--with-libassuan-prefix=$(LOCAL) \
|
|
|
@ -546,6 +585,9 @@ clean-install: |
|
|
|
|
|
|
|
clean: $(EXTERNAL_SRCS_CLEAN) clean-assets clean-install libetpan-cleanzip |
|
|
|
|
|
|
|
clean-all: clean |
|
|
|
rm -rf *.git |
|
|
|
rm -rf *.stamp |
|
|
|
#------------------------------------------------------------------------------#
|
|
|
|
|
|
|
|
.PHONY = clean clean-install clean-assets libetpan-cleanzip\
|
|
|
@ -553,6 +595,7 @@ clean: $(EXTERNAL_SRCS_CLEAN) clean-assets clean-install libetpan-cleanzip |
|
|
|
libgcrypt-build libgcrypt-install \
|
|
|
|
libassuan-build libassuan-install \
|
|
|
|
libksba-build libksba-install \
|
|
|
|
libnpth-build libnpth-install \
|
|
|
|
libiconv-build libiconv-install \
|
|
|
|
uuid-build uuid-install \
|
|
|
|
gnupg-build gnupg-install\
|
|
|
|