CC = avr-g++
LD = avr-g++
CC_FLAGS = -O2 -mmcu=atmega32 -Wall -c
LD_FLAGS = -o

EXECUTABLE = stepper_control.elf
BINARY = stepper_control.hex


OBJS = stepper_control.o \
			 serial_interface.o
			 

$(EXECUTABLE) : $(OBJS)
	$(LD) $(LD_FLAGS) $(EXECUTABLE) $(OBJS)


stepper_control.o : stepper_control.c \
						serial_interface.h
	$(CC) $(CC_FLAGS) stepper_control.c

serial_interface.o : serial_interface.cpp \
						serial_interface.h
	$(CC) $(CC_FLAGS) serial_interface.cpp
	

%.o : %.cpp %.h
	$(CC) $(CC_FLAGS) $<


all : $(EXECUTABLE)
	avr-objcopy -O ihex -j .text -j .data $(EXECUTABLE)  $(BINARY)
	


clean :
	rm $(OBJS) $(EXECUTABLE) $(BINARY)




