From 8b45e5d72ba3a82ac31a68186bcdf9ed0d1e3373 Mon Sep 17 00:00:00 2001 From: Ivan Date: Mon, 22 Sep 2025 15:37:00 -0500 Subject: [PATCH] add Makefile --- Makefile | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9a729ec --- /dev/null +++ b/Makefile @@ -0,0 +1,80 @@ +# Ren Browser Makefile +.PHONY: help build poetry-build linux apk docker-build docker-build-multi docker-run docker-stop clean test lint format + +# Default target +help: + @echo "Ren Browser Build System" + @echo "" + @echo "Available targets:" + @echo " build - Build the project (alias for poetry-build)" + @echo " poetry-build - Build project with Poetry" + @echo " linux - Build Linux package" + @echo " apk - Build Android APK" + @echo " docker-build - Build Docker image with Buildx" + @echo " docker-build-multi - Build multi-platform Docker image" + @echo " docker-run - Run Docker container" + @echo " docker-stop - Stop Docker container" + @echo " test - Run tests" + @echo " lint - Run linter" + @echo " format - Format code" + @echo " clean - Clean build artifacts" + @echo " help - Show this help" + +# Main build target +build: poetry-build + +# Poetry build +poetry-build: + @echo "Building project with Poetry..." + poetry build + +# Linux package build +linux: + @echo "Building Linux package..." + poetry run flet build linux + +# Android APK build +apk: + @echo "Building Android APK..." + poetry run flet build apk + +# Docker targets +docker-build: + @echo "Building Docker image with Buildx..." + docker buildx build -t ren-browser --load . + +docker-build-multi: + @echo "Building multi-platform Docker image..." + docker buildx build -t ren-browser-multi --platform linux/amd64,linux/arm64 --push . + +docker-run: + @echo "Running Docker container..." + docker run -p 8550:8550 --name ren-browser-container ren-browser + +docker-stop: + @echo "Stopping Docker container..." + docker stop ren-browser-container || true + docker rm ren-browser-container || true + +# Development targets +test: + @echo "Running tests..." + poetry run pytest + +lint: + @echo "Running linter..." + poetry run ruff check . + +format: + @echo "Formatting code..." + poetry run ruff format . + +# Clean build artifacts +clean: + @echo "Cleaning build artifacts..." + rm -rf build/ + rm -rf dist/ + rm -rf *.egg-info/ + find . -type d -name __pycache__ -exec rm -rf {} + + find . -type f -name "*.pyc" -delete + docker rmi ren-browser || true