MCU      = atmega32u4
F_CPU    = 16000000UL
BAUD     = 57600
PORT     = /dev/ttyACM0

CC       = avr-gcc
OBJCOPY  = avr-objcopy
AVRDUDE  = avrdude

CFLAGS   = -mmcu=$(MCU) -DF_CPU=$(F_CPU) -Os -Wall -Wextra -std=c99
TARGET   = snake
SRC      = main.c

.PHONY: all flash clean

all: $(TARGET).hex

$(TARGET).elf: $(SRC)
	$(CC) $(CFLAGS) -o $@ $^

$(TARGET).hex: $(TARGET).elf
	$(OBJCOPY) -O ihex -R .eeprom $< $@
	@echo ""
	@echo ">>> Build gata! Ruleaza 'make flash' pentru a incarca pe Leonardo."
	@echo ""

flash: $(TARGET).hex
	@echo ""
	@echo ">>> Build gata. Pentru flash pe Leonardo, deschide PowerShell si ruleaza:"
	@echo "    cd C:/Users/mstamatie/Facultate/PM/snake_game"
	@echo "    powershell -ExecutionPolicy Bypass -File .\\flash.ps1"
	@echo ""

clean:
	rm -f $(TARGET).elf $(TARGET).hex
