CM_INC = /opt/libopencm3/include
CORE_FLAGS = -mthumb -mcpu=cortex-m0
CFLAGS = -Os -Wall -g $(CORE_FLAGS) -I $(CM_INC) -DSTM32F0

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

PROGS = adc1 blink1 blink2 blink3 i2c1 null push1 push2 push3 push4 push5 \
        ser1 ser2 \
        shift1 shift2 shift3 shift4 tick1 tick2 tim1 TM1637_ex1

LD_SCRIPT = libopencm3_stm32f0.ld

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

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

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

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

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