TRG	= vitfit

CC      = arm-none-eabi-gcc
LD      = arm-none-eabi-gcc
CP      = arm-none-eabi-objcopy
OD      = arm-none-eabi-objdump

SRCS	= $(shell find -name '*.[cS]')
OBJS	= $(addsuffix .o,$(basename $(SRCS)))

CFLAGS  =  	-I./ \
			-I./lib \
			-I./systick \
			-I./fatfs/src \
			-I./sd_card \
			-c -fno-common -Os -mcpu=cortex-m3 -mthumb

LFLAGS  = 	-Tstm32f103.ld -nostartfiles --gc-sections
CPFLAGS = 	-Obinary
ODFLAGS = 	-S


all: $(TRG).elf
	@ echo "copying..."
	$(CP) $(CPFLAGS) $(TRG).elf $(TRG).bin
	#$(OD) $(ODFLAGS) $(TRG).elf > $(TRG).lst
	@ echo "soft cleaning..."
	rm -f *.o

$(TRG).elf: $(OBJS) 
	@ echo "linking..."
	$(LD) $(LFLAGS) -o $@ $^    

%.o: %.c
	@ echo "compiling..."
	$(CC) $(CFLAGS) -c -o $@ $^

stlink:
	sudo st-flash write v1 $(TRG).bin 0x8000000

boot:
	sudo stm32flash -w $(TRG).bin -v /dev/ttyUSB0 -g 0x00

clean:
	rm -f *.elf *.lst *.bin *.hex *.lst
	find -name '*.o' -delete

.PHONY:	clean
