bin=main
device=atmega8
progport=usbtiny
# progargs="-E noreset"
CFLAGS=-O -mmcu=$(device) -Wall # -D PROTO
# LFLAGS=-Wl,-u,vfprintf -lprintf_flt -lm
# LFLAGS=-Wl,-u,vfprintf -lprintf_min
LFLAGS=

%.bin: %
	avr-size $<
	avr-objcopy -O binary $< $@

%.s: %.c
	avr-gcc -S $(CFLAGS) $^ -o $@

%.o: %.c
	avr-gcc -c $(CFLAGS) $^ -o $@

%.o: %.s
	avr-gcc -c -mmcu=$(device) $^ -o $@


all: $(bin)

$(bin): $(bin).o ws2811.o
	avr-gcc $(CFLAGS) $^ $(LFLAGS) -o $@

test: test.o uart.o
	avr-gcc $(CFLAGS) $^ $(LFLAGS) -o $@
		
datalog: datalog.o uart.o
	avr-gcc $(CFLAGS) $^ $(LFLAGS) -o $@

prog program: $(bin).bin
	avrdude -q -q -p $(device) -c $(progport) $(progargs) -U flash:w:$<:r
#	ttylog -b 19200 -d /dev/ttyUSB0


clean:
	rm -f *~ $(bin) *.o *.bin
