TARGET = output
MCU    = atmega32
CC     = avr-gcc
PORT   = usb 
PROGRAMMER = avrisp2#dragon_jtag #avrisp2
LIB_DIR =/home/toti/workspace-avr/lib_can_spi/bin/
LIB_INCLUDE_DIR =/home/toti/workspace-avr/lib_can_spi/src

CFLAGS  =-mmcu=$(MCU) -Os -c -lm -std=gnu99 -DF_CPU=16000000 -I$(LIB_INCLUDE_DIR)
LDFLAGS =-mmcu=$(MCU) -L$(LIB_DIR) -lcan_spi_atmega32 --print-gc-sections

OBJ=$(shell find ./src -name "*.c" -printf %f\ | sed 's/\.c/.o/g')
SRC=$(shell find ./src -name "*.c")

$(OBJ): $(SRC)
	$(CC) $(CFLAGS) -c $(SRC)

$(TARGET).elf: $(OBJ)
	$(CC) $(OBJ) -o $(TARGET).elf $(LDFLAGS) 

$(TARGET).hex: $(TARGET).elf
	 avr-objcopy -O ihex -j .text -j .data  $(TARGET).elf $(TARGET).hex 

build: $(TARGET).hex

load: $(TARGET).hex
	avrdude -p atmega32 -c $(PROGRAMMER) -U flash:w:$(TARGET).hex -v -F -P $(PORT)

build: $(TARGET).hex

all: $(TARGET).hex

clean:
	rm -f -r *.o  *.hex *.elf
