PORT=/dev/ttyUSB0
MCU=atmega2560
CFLAGS=-g -Werror -mcall-prologues -mmcu=$(MCU) -O2 -I ./
LDFLAGS=-Wl,-gc-sections -Wl,-relax
CC=avr-gcc
TARGET=main
OBJECT_FILES=main.o draw.o uart.o helpMath.o 

all: $(TARGET).hex

clear:
	rm -f *.o *.hex *.obj *.hex a.out
	clear

%.hex: %.obj
	avr-objcopy -R .eeprom -O ihex $< $@

%.obj: $(OBJECT_FILES)
	$(CC) $(CFLAGS) $(OBJECT_FILES) $(LDFLAGS) -o $@

flash: $(TARGET).hex
	avrdude -p $(MCU) -P $(PORT) -c avrisp -b 19200 -U flash:w:$(TARGET).hex

sim:
	gcc main.c gol.c draw.c helpMath.c sim.c -g -D SIMULATION -lglut -lGL -lm -lGLU -Werror -Wextra