CC = arm-none-eabi-gcc
LD = arm-none-eabi-ld
OBJCOPY = arm-none-eabi-objcopy

LINKER_SCRIPT = -TSTM32L476xG.ld

CFLAGS = -g -O2 -Wall
CFLAGS += -mlittle-endian -mthumb -mcpu=cortex-m4
CFLAGS += -fno-common -fno-builtin

all:	lcd_display.bin

-include ../Makefile.lib

lcd_display.bin:	lcd_display.elf
	$(OBJCOPY) -Obinary lcd_display.elf lcd_display.bin

lcd_display.elf:	main.o lcd.o
	$(LD) $(LINKER_SCRIPT) -o lcd_display.elf main.o lcd.o

lcd.o:	lcd.c stm32l476xx.h
	$(CC) $(CFLAGS)  -c -o lcd.o lcd.c

main.o:	main.c stm32l476xx.h
	$(CC) $(CFLAGS)  -c -o main.o main.c


flash:		lcd_display.elf
#	openocd -f board/stm32ldiscovery.cfg -c "program filename.bin 0x08000000"
	openocd -f board/stm32l4discovery.cfg \
			-c "program lcd_display.elf verify" \
			-c "reset run"


disassem:	lcd_display.elf
	$(OBJDUMP) --disassemble-all lcd_display.elf > lcd_display.dis

clean:	
	rm -f *~ *.o *.bin *.elf *.dis
