From 2f973f315a9d9af5f4e7de56249a58db46e406b6 Mon Sep 17 00:00:00 2001 From: darkfi Date: Tue, 21 Jan 2025 16:14:16 +0100 Subject: [PATCH] app: improve Makefile for platform builds --- bin/app/Makefile | 54 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 43 insertions(+), 11 deletions(-) diff --git a/bin/app/Makefile b/bin/app/Makefile index 8179b9ab470a..b290256bc7bc 100644 --- a/bin/app/Makefile +++ b/bin/app/Makefile @@ -1,6 +1,7 @@ .POSIX: -APK = target/android-artifacts/release/apk/darkfi-app.apk +RELEASE_APK = target/android-artifacts/release/apk/darkfi-app.apk +DEBUG_APK = target/android-artifacts/debug/apk/darkfi-app.apk SRC = \ build.rs \ @@ -11,24 +12,50 @@ SRC = \ $(shell find src -type f) RELEASE_FEATURES = --features=enable-plugins +DEBUG_FEATURES = --features=enable-filelog,enable-plugins #FEATURES = --features=enable-filelog,enable-netdebug,emulate-android #FEATURES = --features=enable-filelog,enable-netdebug,enable-plugins DEV_FEATURES = --features=enable-filelog,enable-netdebug -all: $(SRC) fonts - cargo build --release $(RELEASE_FEATURES) - -mv target/release/darkfi-app . +default: build-release ./darkfi-app -dev: $(SRC) fonts - cargo lbuild $(DEV_FEATURES) - -mv target/debug/darkfi-app . - ./darkfi-app +android: android-release -android: $(SRC) fonts +# Platform release builds + +macos-release: release-build + -mv darkfi-app darkfi-app.macos +macos-debug: debug-build + -mv darkfi-app darkfi-app_debug.macos +linux-release: release-build + -mv darkfi-app darkfi-app.linux +linux-debug: debug-build + -mv darkfi-app darkfi-app_debug.linux +win-release: $(SRC) fonts + cargo build --release $(RELEASE_FEATURES) + -mv target/release/darkfi-app.exe . +win-debug: $(SRC) fonts + cargo build $(DEBUG_FEATURES) + -mv target/debug/darkfi-app.exe . +android-release: $(SRC) fonts podman run -v $(shell pwd)/../../:/root/darkfi -w /root/darkfi/bin/app/ -t apk cargo quad-apk build --release $(RELEASE_FEATURES) - -mv $(APK) . + -mv $(RELEASE_APK) . +android-debug: $(SRC) fonts + podman run -v $(shell pwd)/../../:/root/darkfi -w /root/darkfi/bin/app/ -t apk cargo quad-apk build $(DEBUG_FEATURES) + -mv $(DEBUG_APK) . + +build-release: $(SRC) fonts + cargo build --release $(RELEASE_FEATURES) + -mv target/release/darkfi-app . +build-debug: $(SRC) fonts + cargo build $(DEBUG_FEATURES) + -mv target/debug/darkfi-app . + +# Download font data + +fonts: ibm-plex-mono-regular.otf NotoColorEmoji.ttf ibm-plex-mono-regular.otf: wget -c https://codeberg.org/darkrenaissance/darkfi/raw/branch/data/ibm-plex-mono-regular.otf @@ -36,7 +63,12 @@ ibm-plex-mono-regular.otf: NotoColorEmoji.ttf: wget -c https://codeberg.org/darkrenaissance/darkfi/raw/branch/data/NotoColorEmoji.ttf -fonts: ibm-plex-mono-regular.otf NotoColorEmoji.ttf +# Developer targets + +dev: $(SRC) fonts + cargo lbuild $(DEV_FEATURES) + -mv target/debug/darkfi-app . + ./darkfi-app apk: darkfi-app.apk podman run -v $(shell pwd)/../../:/root/darkfi -w /root/darkfi/bin/app/ -t apk cargo quad-apk build $(DEV_FEATURES)