# Variables PACKAGE_NAME := com.imgui.example VARIANT := copy VERSION := 0.1.0 URL := https://github.com/libsdl-org/SDL/archive/refs/heads/main.zip ARCHIVE_NAME := SDL-main.zip SDL_ROOT := SDL-main SDL_ANDROID_PROJECT := $(CURDIR)/$(PACKAGE_NAME) SDL_PYTHON_SCRIPT := $(SDL_ROOT)/build-scripts/create-android-project.py SDL_JNI_DIR := $(SDL_ANDROID_PROJECT)/app/jni/src IMGUI_ROOT := $(realpath $(dir $(lastword $(MAKEFILE_LIST)))../..) SOURCES := \ $(IMGUI_ROOT)/backends/imgui_impl_sdlrenderer3.cpp \ $(IMGUI_ROOT)/backends/imgui_impl_sdl3.cpp \ $(IMGUI_ROOT)/imgui.cpp \ $(IMGUI_ROOT)/imgui_draw.cpp \ $(IMGUI_ROOT)/imgui_widgets.cpp \ $(IMGUI_ROOT)/imgui_demo.cpp \ $(IMGUI_ROOT)/imgui_tables.cpp \ main.cpp HEADERS := $(IMGUI_ROOT)/imstb_rectpack.h \ $(IMGUI_ROOT)/imstb_textedit.h \ $(IMGUI_ROOT)/imstb_truetype.h \ $(IMGUI_ROOT)/imgui.h \ $(IMGUI_ROOT)/imgui_internal.h \ $(IMGUI_ROOT)/imconfig.h \ $(IMGUI_ROOT)/backends/imgui_impl_sdl3.h \ $(IMGUI_ROOT)/backends/imgui_impl_sdlrenderer3.h # Targets .PHONY: all clean setup download extract run all: setup run clean: rm -rf $(SDL_ROOT) $(ARCHIVE_NAME) $(SDL_ANDROID_PROJECT) setup: download extract @echo "Setting up the Android project..." @which python3 > /dev/null || which python > /dev/null || { echo "Error: Python v3 is not installed."; exit 1;} download: @echo "Downloading Android project..." wget -O $(ARCHIVE_NAME) $(URL) || curl -L -o $(ARCHIVE_NAME) $(URL) extract: @echo "Extracting Android project..." mkdir -p $(SDL_ROOT) unzip -o $(ARCHIVE_NAME) -d $(CURDIR) cp -r $(HEADERS) $(SDL_JNI_DIR) run: @echo "Creating Android project..." python3 $(SDL_PYTHON_SCRIPT) --variant $(VARIANT) --output $(CURDIR) $(PACKAGE_NAME) $(SOURCES)