.PHONY: dev build clean install frontend # Development dev: wails dev # Build for macOS build: wails build -clean # Build for macOS (universal binary) build-universal: wails build -clean -platform darwin/universal # Install frontend dependencies frontend: cd frontend && npm install # Generate Go bindings generate: wails generate module # Clean build artifacts clean: rm -rf build/bin rm -rf frontend/dist rm -rf frontend/node_modules # Run tests test: go test ./... # Format code fmt: go fmt ./... cd frontend && npm run format 2>/dev/null || true # Lint lint: golangci-lint run ./... # Install dependencies deps: go mod download go mod tidy cd frontend && npm install # Initialize project (first time setup) init: deps frontend @echo "Project initialized. Run 'make dev' to start development." # Help help: @echo "Daily Timer - Makefile Commands" @echo "" @echo "Development:" @echo " make dev - Start development server with hot reload" @echo " make build - Build production binary for macOS" @echo " make build-universal - Build universal binary (Intel + Apple Silicon)" @echo "" @echo "Setup:" @echo " make init - Initialize project (install all dependencies)" @echo " make deps - Install Go and frontend dependencies" @echo " make frontend - Install frontend dependencies only" @echo "" @echo "Maintenance:" @echo " make clean - Remove build artifacts" @echo " make fmt - Format Go and frontend code" @echo " make lint - Run linters" @echo " make test - Run tests" @echo "" @echo "Misc:" @echo " make generate - Regenerate Wails bindings" @echo " make help - Show this help"