Browse Source

PEMA-107 Move some code to Makefile.conf and createMakefile.sh

pull/25/head
ignaciogarcia 3 years ago
parent
commit
2bd70c9b44
No known key found for this signature in database GPG Key ID: 5E6A455C909DD623
  1. 5
      android/external/Makefile.conf
  2. 33
      android/external/MakefileTemplate
  3. 23
      android/external/createMakefile.sh

5
android/external/Makefile.conf

@ -51,5 +51,6 @@ EXTERNAL_SRCS_CLEAN += sequoia-ffi-clean
### Other variables
ANDROID_ETPAN_BUILD_VERSION=2
# install root for built files
EXTERNAL_ROOT = $(shell pwd)
DESTDIR = $(EXTERNAL_ROOT)/..

33
android/external/MakefileTemplate

@ -21,35 +21,27 @@ all: build
build: showsetup uuid-install sequoia-ffi-install libetpan-build
#------------------------------------------------------------------------------#
# Manage paths for PREFIX, DESTDIR, LOCAL and PATH
# Manage paths for PREFIX, LOCAL and PATH
EXTERNAL_ROOT := $(shell pwd)
# install root for built files
DESTDIR = $(EXTERNAL_ROOT)/..
prefix = /output/$(APP_ABI)
prefix := [prefix]
LOCAL := $(DESTDIR)$(prefix)
PATH := ${PATH}:$(NDK_TOOLCHAIN)/bin:$(LOCAL)/bin
HOST = [HOST]
NDK_TOOLCHAIN = $([NDK_TOOLCHAIN_TARGET])-$(NDK_TOOLCHAIN_COMPILER)
COMPILER_PREFIX = [COMPILER_PREFIX]
NDK_TOOLCHAIN := [NDK_TOOLCHAIN]
SEQUOIA_ARCH = [SEQUOIA_ARCH]
OPENSSL_ARCHITECTURE:=[OPENSSL_ARCHITECTURE]
# include Android's build flags
TARGET_ARCH_ABI = $(APP_ABI)
include $(ANDROID_NDK)/build/core/toolchains/$(NDK_TOOLCHAIN)/setup.mk
CC := $(ANDROID_NDK_HOME)/bin/$(COMPILER_PREFIX)$(ANDROID_API)-clang
CXX := $(ANDROID_NDK_HOME)/bin/$(COMPILER_PREFIX)$(ANDROID_API)-clang++
CC := [CC]
CXX := [CXX]
AS := $(CC)
CFLAGS += -DANDROID -I$(LOCAL)/include $(TARGET_CFLAGS) -fPIE -fPIC -std=c99
LDFLAGS += -llog -L$(LOCAL)/lib $(TARGET_LDFLAGS) -pie
# change 'release' to 'debug' for unoptimized debug builds
CFLAGS += $([ARCH_DEBUG_CFLAGS])
CFLAGS += [CFLAGS]
LDFLAGS += [LDFLAGS]
#------------------------------------------------------------------------------#
# GNU Tools trickery
@ -65,11 +57,16 @@ export ac_cv_func_malloc_0_nonnull=yes
showsetup:
@echo "NDK_TOOLCHAIN: $(NDK_TOOLCHAIN)"
@echo "NDK_TOOLCHAIN_COMPILER: $(NDK_TOOLCHAIN_COMPILER)"
@echo "APP_ABI: $(APP_ABI)"
@echo "HOST: $(HOST)"
@echo "COMPILER_PREFIX: $(COMPILER_PREFIX)"
@echo "SEQUOIA_ARCH: $(SEQUOIA_ARCH)"
@echo "CC: $(CC)"
@echo "LD: $(LD)"
@echo "AR: $(AR)"
@echo "AS: $(AS)"
@echo "STRIP: $(STRIP)"
@echo "RANLIB: $(RANLIB)"
@echo "CFLAGS: $(CFLAGS)"
@echo "LDFLAGS: $(LDFLAGS)"
@ -172,8 +169,6 @@ openssl.src.stamp: ../downloads/openssl-$(OPENSSL_VERSION).tar.gz
mv openssl-$(OPENSSL_VERSION) openssl
touch $@
OPENSSL_ARCHITECTURE:=[OPENSSL_ARCHITECTURE]
openssl/Makefile: openssl.src.stamp
cd openssl && \
PATH="$(ANDROID_NDK_HOME)/bin:$(PATH)" ../../configure_openssl.sh ${OPENSSL_ARCHITECTURE} $(ANDROID_API) $(LOCAL)

23
android/external/createMakefile.sh

@ -16,7 +16,7 @@ case $ARCH_DEST in
ANDROID_API=18
HOST=i686-linux-android
COMPILER_PREFIX="$HOST"
NDK_TOOLCHAIN_TARGET="APP_ABI"
NDK_TOOLCHAIN_TARGET="$ARCH_DEST"
ARCH_DEBUG_CFLAGS=TARGET_x86_debug_CFLAGS
OPENSSL_ARCHITECTURE=android-x86
SEQUOIA_ARCH=i686-linux-android
@ -25,7 +25,7 @@ case $ARCH_DEST in
ANDROID_API=21
HOST=x86_64-linux-android
COMPILER_PREFIX="$HOST"
NDK_TOOLCHAIN_TARGET="APP_ABI"
NDK_TOOLCHAIN_TARGET="$ARCH_DEST"
ARCH_DEBUG_CFLAGS=TARGET_x86_64_debug_CFLAGS
OPENSSL_ARCHITECTURE=android-x86_64
SEQUOIA_ARCH=x86_64-linux-android
@ -34,7 +34,7 @@ case $ARCH_DEST in
ANDROID_API=18
HOST=arm-linux-androideabi
COMPILER_PREFIX=armv7a-linux-androideabi
NDK_TOOLCHAIN_TARGET="HOST"
NDK_TOOLCHAIN_TARGET="$HOST"
ARCH_DEBUG_CFLAGS=TARGET_arm_debug_CFLAGS
OPENSSL_ARCHITECTURE=android-arm
SEQUOIA_ARCH=armv7-linux-androideabi
@ -43,7 +43,7 @@ case $ARCH_DEST in
ANDROID_API=21
HOST=aarch64-linux-android
COMPILER_PREFIX="$HOST"
NDK_TOOLCHAIN_TARGET="HOST"
NDK_TOOLCHAIN_TARGET="$HOST"
ARCH_DEBUG_CFLAGS=TARGET_arm64_debug_CFLAGS
OPENSSL_ARCHITECTURE=android-arm64
GMP_MAKEFILE_EXTRA=' MPN_PATH=\"arm64 generic\"'
@ -51,6 +51,13 @@ case $ARCH_DEST in
;;
esac
prefix="/output/$ARCH_DEST"
CC="\$(ANDROID_NDK_HOME)/bin/$COMPILER_PREFIX$ANDROID_API-clang"
CXX="\$(ANDROID_NDK_HOME)/bin/$COMPILER_PREFIX$ANDROID_API-clang++"
NDK_TOOLCHAIN="$NDK_TOOLCHAIN_TARGET-\$(NDK_TOOLCHAIN_COMPILER)"
CFLAGS="-DANDROID -I\$(LOCAL)/include \$(TARGET_CFLAGS) -fPIE -fPIC -std=c99 \$($ARCH_DEBUG_CFLAGS)" # change 'release' to 'debug' for unoptimized debug builds
LDFLAGS="-llog -L\$(LOCAL)/lib \$(TARGET_LDFLAGS) -pie"
################################################################################
# Select GNU SED #
################################################################################
@ -72,11 +79,15 @@ esac
$SED -i 's/\[ARCH\]/'"$ARCH_DEST"'/g' "$FILE_DEST"
$SED -i 's/\[ANDROID_API\]/'"$ANDROID_API"'/g' "$FILE_DEST"
$SED -i 's/\[HOST\]/'"$HOST"'/g' "$FILE_DEST"
$SED -i 's/\[COMPILER_PREFIX\]/'"$COMPILER_PREFIX"'/g' "$FILE_DEST"
$SED -i 's/\[NDK_TOOLCHAIN_TARGET\]/'"$NDK_TOOLCHAIN_TARGET"'/g' "$FILE_DEST"
$SED -i 's@\[prefix\]@'"$prefix"'@g' "$FILE_DEST"
$SED -i 's@\[NDK_TOOLCHAIN\]@'"$NDK_TOOLCHAIN"'@g' "$FILE_DEST"
$SED -i 's/\[ARCH_DEBUG_CFLAGS\]/'"$ARCH_DEBUG_CFLAGS"'/g' "$FILE_DEST"
$SED -i 's/\[OPENSSL_ARCHITECTURE\]/'"$OPENSSL_ARCHITECTURE"'/g' "$FILE_DEST"
$SED -i 's/\[GMP_MAKEFILE_EXTRA\]/'"$GMP_MAKEFILE_EXTRA"'/g' "$FILE_DEST"
$SED -i 's/\[SEQUOIA_ARCH\]/'"$SEQUOIA_ARCH"'/g' "$FILE_DEST"
$SED -i 's@\[CC\]@'"$CC"'@g' "$FILE_DEST"
$SED -i 's@\[CXX\]@'"$CXX"'@g' "$FILE_DEST"
$SED -i 's@\[CFLAGS\]@'"$CFLAGS"'@g' "$FILE_DEST"
$SED -i 's@\[LDFLAGS\]@'"$LDFLAGS"'@g' "$FILE_DEST"
cat "$FILE_DEST"

Loading…
Cancel
Save