# TODO: Add default targets
################################################################################
#                        CO2 Ampel Firmware - Makefile                         #
################################################################################

## Run `make` to show available targets

help:     ## Show this help.
	@egrep -h '(\s##\s|^##\s)' $(MAKEFILE_LIST) | egrep -v '^--' | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[32m  %-35s\033[0m %s\n", $$1, $$2}'

build: ## Build. (board should be defined)
ifdef board
	pio -f -c vim run -e $(board)
else
	@echo "Please define board parameter:"
	@echo "make build board=esp8266"
	@echo "or"
	@echo "make build board=esp32"
	@exit 1
endif

build_all: ## Build for all boards
	pio -f -c vim run

upload: ## Upload to ESP. (board should be defined)
ifdef board
	pio -f -c vim run --target upload -e $(board)
else
	@echo "Please define board parameter:"
	@echo "make upload board=esp8266"
	@exit 1
endif

clean: ## Clean code
	pio -f -c vim run --target clean

program:
	pio -f -c vim run --target program

uploadfs:
	pio -f -c vim run --target uploadfs

update:
	pio -f -c vim update

monitor: ## Monitor ESP output
	pio device monitor --filter colorize
