ENV ?= dev
FLUTTER := fvm flutter
DART := fvm dart

.PHONY: setup get run run-staging run-prod build-android build-ios analyze format test clean

setup: ## First-time setup: fvm, deps, env files
	fvm install
	$(FLUTTER) pub get
	@for e in dev staging prod; do [ -f .env.$$e ] || cp .env.example .env.$$e; done

get:
	$(FLUTTER) pub get

run:
	$(FLUTTER) run --dart-define=ENV=$(ENV)

run-staging:
	$(MAKE) run ENV=staging

run-prod:
	$(MAKE) run ENV=prod

build-android:
	$(FLUTTER) build apk --release --dart-define=ENV=$(ENV)

build-ios:
	$(FLUTTER) build ipa --release --dart-define=ENV=$(ENV)

analyze:
	$(FLUTTER) analyze

format:
	$(DART) format lib test

test:
	$(FLUTTER) test

clean:
	$(FLUTTER) clean && $(FLUTTER) pub get
