From 4b6965e423c3249898859969206db2880165b35d Mon Sep 17 00:00:00 2001 From: Medcl Date: Fri, 20 Dec 2024 11:25:18 +0800 Subject: [PATCH] chore: add Makefile (#60) --- Makefile | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ecfd4b9 --- /dev/null +++ b/Makefile @@ -0,0 +1,47 @@ +# Variables +NODE_VERSION_MIN = 18.12 + + +.PHONY: dev-build + +default: dev-build + +# Ensure Node.js version meets the minimum requirement +check-node-version: + @echo "Checking Node.js version..." + @node_version=$$(node -v | sed 's/v//'); \ + if [ "$$node_version" \< "$(NODE_VERSION_MIN)" ]; then \ + echo "Error: Node.js version must be at least $(NODE_VERSION_MIN)"; \ + exit 1; \ + fi + @echo "Node.js version is adequate." + +# Install dependencies +install-dependencies: check-node-version + @echo "Installing dependencies..." + npm install -g pnpm && pnpm install + +# Start desktop development +start-dev: install-dependencies + @echo "Starting desktop development..." + pnpm tauri dev + +# Build desktop application for MacOS +build-mac-app: install-dependencies + @echo "Building the desktop application..." + pnpm tauri build --bundles app + +# Build DMG package for MacOS +build-mac-dmg: install-dependencies + @echo "Building the desktop dmg package..." + pnpm tauri build --bundles dmg + +# Combined: Install dependencies, start dev, and build app +dev-build: install-dependencies start-dev build-app + @echo "Development and build process completed." + +# Clean up node_modules and rebuild +clean-rebuild: + @echo "Cleaning up and rebuilding..." + rm -rf node_modules + $(MAKE) dev-build