2021-04-30 16:11:09 +02:00
SHELL := /bin/bash
2020-06-12 20:18:18 +02:00
PYTHON = python3
2021-04-30 16:11:09 +02:00
# for reproducible builds
export LC_ALL := C
export TZ := UTC
2022-02-23 17:49:26 +01:00
i f n d e f E L E C _ A P K _ U S E _ C U R R E N T _ T I M E
export SOURCE_DATE_EPOCH := $( shell git log -1 --pretty= %ct)
e l s e
# p4a sets "private_version" based on SOURCE_DATE_EPOCH. "private_version" gets compiled into the apk,
# and is used at runtime to decide whether the already extracted project files in the app's datadir need updating.
# So, "private_version" needs to be reproducible, but it would be useful during development if it changed
# between subsequent builds (otherwise the new code won't be unpacked and used at runtime!).
# For this reason, for development purposes, we set SOURCE_DATE_EPOCH here to the current time.
2022-08-05 22:57:24 +02:00
# see https://github.com/kivy/python-for-android/blob/e8686e2104a553f05959cdaf7dd26867671fc8e6/pythonforandroid/bootstraps/common/build/build.py#L575-L587
2022-02-23 17:49:26 +01:00
export SOURCE_DATE_EPOCH := $( shell date +%s)
e n d i f
2021-04-30 16:11:09 +02:00
export PYTHONHASHSEED := $( SOURCE_DATE_EPOCH)
export BUILD_DATE := $( shell LC_ALL = C TZ = UTC date +'%b %e %Y' -d @$( SOURCE_DATE_EPOCH) )
export BUILD_TIME := $( shell LC_ALL = C TZ = UTC date +'%H:%M:%S' -d @$( SOURCE_DATE_EPOCH) )
2020-06-12 20:18:18 +02:00
2023-08-30 13:11:33 +00:00
.PHONY : apk clean
2020-06-12 20:18:18 +02:00
prepare :
# running pre build setup
# copy electrum to main.py
2022-03-05 09:07:45 +01:00
@cp buildozer_$( ELEC_APK_GUI) .spec ../../buildozer.spec
2020-06-12 20:18:18 +02:00
@cp ../../run_electrum ../../main.py
@-if [ ! -d "../../.buildozer" ] ; then \
cd ../..; buildozer android debug; \
cp -f blacklist.txt .buildozer/android/platform/python-for-android/src/blacklist.txt; \
rm -rf ./.buildozer/android/platform/python-for-android/dist; \
fi
apk :
@make prepare
2021-04-08 14:55:31 +02:00
@-cd ../..; buildozer android debug
2020-06-12 20:18:18 +02:00
@make clean
release :
@make prepare
@-cd ../..; buildozer android release
@make clean
clean :
# Cleaning up
# rename main.py to electrum
@-rm ../../main.py
# remove buildozer.spec
@-rm ../../buildozer.spec