.DEFAULT_GOAL:=help

# Helper vars for pretty display
_TITLE := "\033[32m[%s]\033[0m %s\n"
_ERROR := "\033[31m[%s]\033[0m %s\n"

##
## Gaido
## ─────
##

help: ## ❓ Show this help.
	@printf "\n Available commands:\n\n"
	@grep -E '(^[a-zA-Z_-]+:.*?##.*$$)|(^##)' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[32m%-25s\033[0m %s\n", $$1, $$2}' | sed -e 's/\[32m## */[33m/'
.PHONY: help

##
## Setup
## ─────
##
install: ## 🏗️ Install
	$(MAKE) -C engine install
.PHONY: install

uninstall: ## 🏗️ Uninstall
	$(MAKE) -C engine uninstall
.PHONY: uninstall

##
## Project
## ─────
##

start: ## 🚀 Start
	$(MAKE) -C engine start
.PHONY: start

stop: ## 🛑 Stop all
	$(MAKE) -C engine stop
.PHONY: stop

cc:
	$(MAKE) -C engine cc
.PHONY: cc

##
## Quality assurance
## ─────────────────
##

qa: ## Run quality assurance
	@$(MAKE) -s -C engine qa
.PHONY: qa

phpstan: ## Execute PHPStan.
	@$(MAKE) -s -C engine phpstan
.PHONY: phpstan

cs: ## Execute php-cs-fixer.
	@$(MAKE) -s -C engine cs
.PHONY: cs

phpunit: ## Execute PHPUnit.
	@$(MAKE) -s -C engine phpunit
.PHONY: phpunit
