From cb2139772c471daf96f689285aa95af73e959803 Mon Sep 17 00:00:00 2001 From: ignaciogarcia Date: Wed, 26 Oct 2022 18:06:07 +0200 Subject: [PATCH] PEMA-107 Add script to generate a Makefile for an arch --- android/external/createMakefile.sh | 79 ++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 android/external/createMakefile.sh diff --git a/android/external/createMakefile.sh b/android/external/createMakefile.sh new file mode 100644 index 0000000..c38dabc --- /dev/null +++ b/android/external/createMakefile.sh @@ -0,0 +1,79 @@ +#!/bin/zsh +#emulate -LR bash +#cd ~code/android/pEpJNIAdapter/external + +ARCH_DEST="$1" +mkdir $ARCH_DEST +cp MakefileTemplate $ARCH_DEST/Makefile +FILE_DEST=$ARCH_DEST/Makefile + +################################################################################ +# Select TEMPLATE FIELDS FOR ARCH # +################################################################################ + +case $ARCH_DEST in + x86) + ANDROID_API=18 + HOST=i686-linux-android + NDK_TOOLCHAIN_TARGET="APP_ABI" + ARCH_DEBUG_CFLAGS=TARGET_x86_debug_CFLAGS + OPENSSL_ARCHITECTURE=android-x86 + SEQUOIA_ARCH=i686-linux-android + ;; + x86_64) + ANDROID_API=21 + HOST=x86_64-linux-android + EXTRA_FLAGS_API="\$(ANDROID_API)" + NDK_TOOLCHAIN_TARGET="APP_ABI" + ARCH_DEBUG_CFLAGS=TARGET_x86_64_debug_CFLAGS + OPENSSL_ARCHITECTURE=android-x86_64 + SEQUOIA_ARCH=x86_64-linux-android + ;; + armeabi-v7a) + ANDROID_API=18 + HOST=arm-linux-androideabi + NDK_TOOLCHAIN_TARGET="HOST" + ARCH_DEBUG_CFLAGS=TARGET_arm_debug_CFLAGS + OPENSSL_ARCHITECTURE=android-arm + SEQUOIA_ARCH=armv7-linux-androideabi + ;; + arm64-v8a) + ANDROID_API=21 + HOST=aarch64-linux-android + NDK_TOOLCHAIN_TARGET="HOST" + ARCH_DEBUG_CFLAGS=TARGET_arm64_debug_CFLAGS + OPENSSL_ARCHITECTURE=android-arm64 + GMP_MAKEFILE_EXTRA=' MPN_PATH=\"arm64 generic\"' + SEQUOIA_ARCH=aarch64-linux-android + ;; + esac + +################################################################################ +# Select GNU SED # +################################################################################ + +OS="$(uname -s)" + +case "${OS}" in + Linux*) SED=sed;; + Darwin*) SED=gsed;; + CYGWIN*) echo "UNSUPORTED YET" && exit;; + MINGW*) echo "UNSUPORTED YET" && exit;; + *) echo "UNKNOWN:${OS}" && exit;; +esac + +################################################################################ +# REPLACE FIELDS IN TEMPLATE # +################################################################################ + +$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/\[EXTRA_FLAGS_API\]/'"$EXTRA_FLAGS_API"'/g' $FILE_DEST +$SED -i 's/\[NDK_TOOLCHAIN_TARGET\]/'"$NDK_TOOLCHAIN_TARGET"'/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 + +cat $FILE_DEST