CC = arm-none-eabi-gcc
CPP = arm-none-eabi-g++
CFLAGS = -c -mcpu=cortex-m4 -mthumb -std=gnu11
CPPFLAGS = -c -mcpu=cortex-m4 -mthumb 
LDFLAGS = -nostdlib -T stm32_ls.ld -Wl,-Map=${BUILD_DIR}/stm32_blink.map
BUILD_DIR = Debug


build :  prereq ${BUILD_DIR}/stm32_blink.elf 

prereq:
	mkdir ${BUILD_DIR}

${BUILD_DIR}/main.o : src/main.cpp
	$(CPP) $(CPPFLAGS) $^ -o $@
	
${BUILD_DIR}/stm32f411_startup.o : src/stm32f411_startup.c
	$(CC) $(CFLAGS) $^ -o $@
	
${BUILD_DIR}/stm32_blink.elf : ${BUILD_DIR}/main.o ${BUILD_DIR}/stm32f411_startup.o
	$(CPP) $(LDFLAGS) $^ -o $@

load :
	openocd -f board/st_nucleo_f4.cfg
	
clean:
	rmdir /s ${BUILD_DIR}