22
33# Those android NDK/SDK variables can be override when running the file
44ANDROID_NDK_VERSION ?= 23b
5+ ANDROID_NDK_VERSION_LEGACY ?= 19c
56ANDROID_SDK_TOOLS_VERSION ?= 6514223
67ANDROID_SDK_BUILD_TOOLS_VERSION ?= 29.0.3
78ANDROID_HOME ?= $(HOME ) /.android
@@ -23,22 +24,34 @@ ANDROID_SDK_TOOLS_DL_URL=https://dl.google.com/android/repository/$(ANDROID_SDK_
2324ANDROID_NDK_HOME =$(ANDROID_HOME ) /android-ndk
2425ANDROID_NDK_FOLDER =$(ANDROID_HOME ) /android-ndk-r$(ANDROID_NDK_VERSION )
2526ANDROID_NDK_ARCHIVE =android-ndk-r$(ANDROID_NDK_VERSION ) -$(TARGET_OS ) .zip
27+
28+ ANDROID_NDK_HOME_LEGACY =$(ANDROID_HOME ) /android-ndk-legacy
29+ ANDROID_NDK_FOLDER_LEGACY =$(ANDROID_HOME ) /android-ndk-r$(ANDROID_NDK_VERSION_LEGACY )
30+ ANDROID_NDK_ARCHIVE_LEGACY =android-ndk-r$(ANDROID_NDK_VERSION_LEGACY ) -$(TARGET_OS ) -x86_64.zip
31+
32+ ANDROID_NDK_GFORTRAN_ARCHIVE_ARM64 =gcc-arm64-linux-x86_64.tar.bz2
33+ ANDROID_NDK_GFORTRAN_ARCHIVE_ARM =gcc-arm-linux-x86_64.tar.bz2
34+
35+
2636ANDROID_NDK_DL_URL =https://dl.google.com/android/repository/$(ANDROID_NDK_ARCHIVE )
37+ ANDROID_NDK_DL_URL_LEGACY =https://dl.google.com/android/repository/$(ANDROID_NDK_ARCHIVE_LEGACY )
2738
2839$(info Target install OS is : $(target_os ) )
2940$(info Android SDK home is : $(ANDROID_SDK_HOME ) )
3041$(info Android NDK home is : $(ANDROID_NDK_HOME ) )
42+ $(info Android NDK Legacy home is : $(ANDROID_NDK_HOME_LEGACY ) )
3143$(info Android SDK download url is : $(ANDROID_SDK_TOOLS_DL_URL ) )
3244$(info Android NDK download url is : $(ANDROID_NDK_DL_URL ) )
3345$(info Android API level is : $(ANDROID_API_LEVEL ) )
3446$(info Android NDK version is : $(ANDROID_NDK_VERSION ) )
47+ $(info Android NDK Legacy version is : $(ANDROID_NDK_VERSION_LEGACY ) )
3548$(info JAVA_HOME is : $(JAVA_HOME ) )
3649
3750all : install_sdk install_ndk
3851
3952install_sdk : download_android_sdk extract_android_sdk update_android_sdk
4053
41- install_ndk : download_android_ndk extract_android_ndk
54+ install_ndk : download_android_ndk download_android_ndk_legacy download_android_ndk_gfortran extract_android_ndk extract_android_ndk_legacy extract_android_ndk_gfortran
4255
4356download_android_sdk :
4457 curl --location --progress-bar --continue-at - \
@@ -48,6 +61,17 @@ download_android_ndk:
4861 curl --location --progress-bar --continue-at - \
4962 $(ANDROID_NDK_DL_URL ) --output $(ANDROID_NDK_ARCHIVE )
5063
64+ download_android_ndk_legacy :
65+ curl --location --progress-bar --continue-at - \
66+ $(ANDROID_NDK_DL_URL_LEGACY ) --output $(ANDROID_NDK_ARCHIVE_LEGACY )
67+
68+ download_android_ndk_gfortran :
69+ curl --location --progress-bar --continue-at - \
70+ https://github.com/mzakharo/android-gfortran/releases/download/r$(ANDROID_NDK_VERSION_LEGACY ) /$(ANDROID_NDK_GFORTRAN_ARCHIVE_ARM64 ) --output $(ANDROID_NDK_GFORTRAN_ARCHIVE_ARM64 )
71+ curl --location --progress-bar --continue-at - \
72+ https://github.com/mzakharo/android-gfortran/releases/download/r$(ANDROID_NDK_VERSION_LEGACY ) /$(ANDROID_NDK_GFORTRAN_ARCHIVE_ARM ) --output $(ANDROID_NDK_GFORTRAN_ARCHIVE_ARM )
73+
74+
5175# Extract android SDK and remove the compressed file
5276extract_android_sdk :
5377 mkdir -p $(ANDROID_SDK_HOME ) \
@@ -62,6 +86,22 @@ extract_android_ndk:
6286 && mv $(ANDROID_NDK_FOLDER ) $(ANDROID_NDK_HOME ) \
6387 && rm -f $(ANDROID_NDK_ARCHIVE )
6488
89+ extract_android_ndk_legacy :
90+ mkdir -p $(ANDROID_NDK_FOLDER_LEGACY ) \
91+ && unzip -q $(ANDROID_NDK_ARCHIVE_LEGACY ) -d $(ANDROID_HOME ) \
92+ && mv $(ANDROID_NDK_FOLDER_LEGACY ) $(ANDROID_NDK_HOME_LEGACY ) \
93+ && rm -f $(ANDROID_NDK_ARCHIVE_LEGACY )
94+
95+ extract_android_ndk_gfortran :
96+ rm -rf $(ANDROID_NDK_HOME_LEGACY ) /toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/
97+ mkdir $(ANDROID_NDK_HOME_LEGACY ) /toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/
98+ tar -xvf $(ANDROID_NDK_GFORTRAN_ARCHIVE_ARM64 ) -C $(ANDROID_NDK_HOME_LEGACY ) /toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/ --strip-components 1
99+ rm -rf $(ANDROID_NDK_HOME_LEGACY ) /toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/
100+ mkdir $(ANDROID_NDK_HOME_LEGACY ) /toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/
101+ tar -xvf $(ANDROID_NDK_GFORTRAN_ARCHIVE_ARM ) -C $(ANDROID_NDK_HOME_LEGACY ) /toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/ --strip-components 1
102+
103+
104+
65105# updates Android SDK, install Android API, Build Tools and accept licenses
66106update_android_sdk :
67107 touch $(ANDROID_HOME ) /repositories.cfg
0 commit comments