CM_INC = /opt/libopencm3/include
CORE_FLAGS = -mthumb -mcpu=cortex-m4 -march=armv7e-m -mfloat-abi=hard \
             -mfpu=fpv4-sp-d16
CFLAGS = -Os -Wall -g $(CORE_FLAGS) -I $(CM_INC) -DSTM32F4

TOOL_PPREFIX =  /usr/bin/arm-none-eabi-
CC = $(TOOL_PPREFIX)gcc
CXX = $(TOOL_PPREFIX)g++

PROGS = blink1

LD_SCRIPT = libopencm3_stm32f4.ld

LD_FLAGS = $(CORE_FLAGS) -T$(LD_SCRIPT) -Wl,--gc-sections -nostartfiles

LIBS = -L /opt/libopencm3/lib/ -lopencm3_stm32f4

progs: $(patsubst %, %.elf, $(PROGS))

%.elf: %.o
	$(CXX) $(LD_FLAGS) $< $(LIBS) -o $@

%.o: %.c
	$(CC) $(CFLAGS) -c $<
